From owner-cvs-src@FreeBSD.ORG Wed Mar 30 05:34:19 2005 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BFF7A16A4CE; Wed, 30 Mar 2005 05:34:19 +0000 (GMT) Received: from zombie.ezone.ru (zombie.ezone.ru [195.128.162.78]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3761C43D2F; Wed, 30 Mar 2005 05:34:18 +0000 (GMT) (envelope-from mcsi@mcsi.pp.ru) Received: from [172.16.4.26] (ultra.domain [172.16.4.26] (may be forged)) by zombie.ezone.ru (8.13.2/8.12.11) with ESMTP id j2U5YD16011751; Wed, 30 Mar 2005 09:34:14 +0400 (MSD) (envelope-from mcsi@mcsi.pp.ru) Message-ID: <424A3A04.7090701@mcsi.pp.ru> Date: Wed, 30 Mar 2005 09:32:52 +0400 From: Maxim Maximov User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Ian Dowse References: <20050330041215.E642216A4CF@hub.freebsd.org> In-Reply-To: <20050330041215.E642216A4CF@hub.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV 0.83/794/Wed Mar 30 04:07:14 2005 on zombie.ezone.ru X-Virus-Status: Clean cc: cvs-src@freebsd.org cc: src-committers@freebsd.org cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/dev/usb usb.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Mar 2005 05:34:20 -0000 Bill Paul wrote: >>In message <20050327173421.6F6C616A4CE@hub.freebsd.org>, wpaul@FreeBSD.org writ >>es: >> >>>uhub2: at uhub1 port 1 (addr 2) disconnected >>>ukbd0: at uhub2 port 1 (addr 3) disconnected >>>ukbd0: detached >>> >>>Fatal trap 12: page fault while in kernel mode >>>cpuid = 0; apic id = 00 >>>fault virtual address = 0xc >>>fault code = supervisor read, page not present >> >>>It looks as if the ukbd_timeout() routine is not always disabled when >>>the ukbd driver is detached. I suspect there is a race condition somewhere >>>that only manifests on SMP, but I haven't been able to track it down. >>>This is with the 6.0 SNAP002 CD from March 18th. It also happened with >>>the SNAP001 CD. >> >>The ukbd driver uses the timeout()/untimeout() API, which makes it >>pretty much impossible to cancel timeouts reliably. That may not >>be the real problem here, but could be related - does the patch >>below make any difference? > > > Hm... yeah, this seems to have stopped it crashing: > > [power off] > uhub2: at uhub1 port 1 (addr 2) disconnected > ukbd0: at uhub2 port 1 (addr 3) disconnected > ukbd0: detached > ums0: at uhub2 port 2 (addr 4) disconnected > ums0: detached > uhub2: detached > [power on] > uhub2: NEC Corporation USB2.0 Hub Controller, class 9/0, rev 2.00/1.00, addr 2 > uhub2: 4 ports with 4 removable, self powered > ukbd0: vendor 0x0430 product 0x0005, rev 1.10/2.00, addr 3, iclass 3/1 > kbd1 at ukbd0 > ums0: vendor 0x0430 product 0x0100, rev 2.00/1.07, addr 4, iclass 3/1 > ums0: 3 buttons. > > Thanks! > Ian, I haven't had the time to test it by myself, but I believe if you commit this patch, usb/76847 can be closed. Thanks! -- Maxim Maximov