UHCI: module parameter to ignore overcurrent changes
authorAlan Stern <stern@rowland.harvard.edu>
Tue, 5 Dec 2006 21:29:55 +0000 (16:29 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 20 Dec 2006 18:14:26 +0000 (10:14 -0800)
commit5f8364b7d63acdc2216ca0f7d0a8557c318479ea
tree01f4c0bf84d46659772a623dd591bba7e1f2b635
parentfe1ec341df1b510e5e614ccdad4a89273d6f6fe8
UHCI: module parameter to ignore overcurrent changes

Certain boards seem to like to issue false overcurrent notifications,
for example on ports that don't have anything connected to them.  This
looks like a hardware error, at the level of noise to those ports'
overcurrent input signals (or non-debounced VBUS comparators).  This
surfaces to users as truly massive amounts of syslog spam from khubd
(which is appropriate for real hardware problems, except for the
volume from multiple ports).

Using this new "ignore_oc" flag helps such systems work more sanely,
by preventing such indications from getting to khubd (and spamming
syslog).  The downside is of course that true overcurrent errors will
be masked; they'll appear as spontaneous disconnects, without the
diagnostics that will let users troubleshoot issues like
short-circuited cables.  In addition, controllers with no devices
attached will be forced to poll for new devices rather than relying on
interrupts, since each overcurrent event would generate a new
interrupt.

This patch (as826) is essentially a copy of David Brownell's ignore_oc
patch for ehci-hcd, ported to uhci-hcd.

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