[PATCH] USB UHCI: improved reset handling
authorAlan Stern <stern@rowland.harvard.edu>
Fri, 22 Apr 2005 18:39:12 +0000 (14:39 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 27 Jun 2005 21:43:44 +0000 (14:43 -0700)
commitc074b416b94c0aa4a371f24bf6cc13d8cf1fab59
tree51cfe6ca9293b9484108ed757ec3c43eb5328474
parent6c1b445c226dd82d0961725dec8051b95003723a
[PATCH] USB UHCI: improved reset handling

This patch improves the strategy uhci-hcd uses for performing controller
resets and checking whether they are needed.

The HCRESET command doesn't affect the Suspend, Resume,
or Reset bits in the port status & control registers, so
the driver must clear them by itself.  This means the
code to figure out how many ports there are has to be moved
to an earlier spot in the driver.

The R/WC bits in the USBLEGSUP register can be set by the
hardware even in the absence of BIOS meddling with legacy
support features.  Hence it's not a good idea to check them
while trying to determine whether the BIOS has altered the
controller's state.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/uhci-hcd.c