From owner-cvs-src@FreeBSD.ORG Tue May 23 01:28:08 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org 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 55AB216A50D; Tue, 23 May 2006 01:28:08 +0000 (UTC) (envelope-from iedowse@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 27ABE43D45; Tue, 23 May 2006 01:28:08 +0000 (GMT) (envelope-from iedowse@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k4N1RNPB069385; Tue, 23 May 2006 01:27:23 GMT (envelope-from iedowse@repoman.freebsd.org) Received: (from iedowse@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k4N1RN5B069384; Tue, 23 May 2006 01:27:23 GMT (envelope-from iedowse) Message-Id: <200605230127.k4N1RN5B069384@repoman.freebsd.org> From: Ian Dowse Date: Tue, 23 May 2006 01:27:23 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/dev/usb usb.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 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: Tue, 23 May 2006 01:28:08 -0000 iedowse 2006-05-23 01:27:23 UTC FreeBSD src repository Modified files: sys/dev/usb usb.c Log: When usb_event_thread() first starts, wait significantly longer before starting exploring (4 seconds), and extend the wait period if new USB buses are attached while waiting. This works around a problem seen when there is more than one EHCI controller in the system and you kldload usb.ko after the system has booted. The problem is that usb.ko contains 3 separate PCI drivers which get initialised one by one (uhci, ohci, ehci), and when each driver is initialised, all PCI buses are re-probed after just the addition of that driver. This means that there can be a significant delay between the attaching of a companion controller and the subsequent EHCI attach, so it is possible for the companion controller's USB 1.x bus to be scanned before the EHCI driver gets a chance to check if there is really a USB 2.x device connected. Revision Changes Path 1.108 +14 -5 src/sys/dev/usb/usb.c