Subject: kern/25683: Hard resetting a system supporting EHCI can cause non-ehci enabled kernel to fail to detect USB devices.
To: None <gnats-bugs@netbsd.org>
From: Matthew Orgass <darkstar@city-net.com>
List: netbsd-bugs
Date: 05/23/2004 02:32:03
>Number:         25683
>Category:       kern
>Synopsis:       Hard resetting a system supporting EHCI can cause non-ehci enabled kernel to fail to detect USB devices.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Sun May 23 06:35:01 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     darkstar@city-net.com
>Release:        All with USB support
>Organization:
>Environment:
>Description:

  See suggested man page additions.  I don't know if there is anything that
can be done in the driver to help this situation, but I suspect not (though I
don't know too much about EHCI).

>How-To-Repeat:
	The most likely situation this will be encountered is crashing windows
on a system with an EHCI chip and then booting a NetBSD kernel without ehci.
Resetting a NetBSD boot after ehci is detected and then booting a kernel
without ehci has the same effect.

>Fix:

Index: share/man/man4/uhci.4
===================================================================
RCS file: /cvsroot/src/share/man/man4/uhci.4,v
retrieving revision 1.5
diff -u -r1.5 uhci.4
--- share/man/man4/uhci.4	11 Sep 2001 23:18:55 -0000	1.5
+++ share/man/man4/uhci.4	23 May 2004 06:14:53 -0000
@@ -56,3 +56,12 @@
 driver
 appeared in
 .Nx 1.4 .
+.Sh BUGS
+There is a bug in EHCI or some BIOSes where a full reset is not performed on
+hard reset.  Due to the way that backwards compatability is done in EHCI, this
+may cause a kernel without
+.Xr ehci 4
+configured to fail to detect any USB devices if a hard reset occurs while any
+operating system supporting EHCI is running until power is entirely removed
+from the system (not just ATX power down) or the system supporting EHCI is
+shut down cleanly.
Index: share/man/man4/ohci.4
===================================================================
RCS file: /cvsroot/src/share/man/man4/ohci.4,v
retrieving revision 1.6
diff -u -r1.6 ohci.4
--- share/man/man4/ohci.4	22 Sep 2001 01:44:54 -0000	1.6
+++ share/man/man4/ohci.4	23 May 2004 06:14:53 -0000
@@ -58,3 +58,12 @@
 driver
 appeared in
 .Nx 1.4 .
+.Sh BUGS
+There is a bug in EHCI or some BIOSes where a full reset is not performed on
+hard reset.  Due to the way that backwards compatability is done in EHCI, this
+may cause a kernel without
+.Xr ehci 4
+configured to fail to detect any USB devices if a hard reset occurs while any
+operating system supporting EHCI is running until power is entirely removed
+from the system (not just ATX power down) or the system supporting EHCI is
+shut down cleanly.
Index: share/man/man4/ehci.4
===================================================================
RCS file: /cvsroot/src/share/man/man4/ehci.4,v
retrieving revision 1.8
diff -u -r1.8 ehci.4
--- share/man/man4/ehci.4	21 Nov 2001 17:22:56 -0000	1.8
+++ share/man/man4/ehci.4	23 May 2004 06:14:53 -0000
@@ -79,3 +79,12 @@
 and low or full speed downstream (i.e., for transaction translators).
 .Pp
 There is no support (yet) for interrupt or isochronous transfers.
+.Pp
+There is a bug in EHCI or some BIOSes where a full reset is not performed on
+hard reset.  Due to the way that backwards compatability is done in EHCI, this
+may cause a kernel without
+.Xr ehci 4
+configured to fail to detect any USB devices if a hard reset occurs while any
+operating system supporting EHCI is running until power is entirely removed
+from the system (not just ATX power down) or the system supporting EHCI is
+shut down cleanly.
>Release-Note:
>Audit-Trail:
>Unformatted: