aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/ehci.h
diff options
context:
space:
mode:
authorDavid Brownell <david-b@pacbell.net>2006-01-20 16:55:14 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2006-03-20 17:49:55 -0500
commitf8aeb3bb8657b207895aa10f75e63f2c48d08985 (patch)
treea752ed44de17a3f0315cffeddfb944cb33c778aa /drivers/usb/host/ehci.h
parent4186ecf8ad16dd05759a09594de6a87e48759ba6 (diff)
[PATCH] USB: EHCI and NF2 quirk
This teaches the EHCI driver about a quirk seen in older NForce2 chips, adding a workaround to ignore selective suspend requests. Bus-wide (so-called "global") suspend still works, as does USB wakeup of a root hub that's globally suspended. There's still a hole in this support though. Strictly speaking, this should _fail_ selective suspend requests, rather than ignoring them, since doing it this way means that devices which should be able to issue remote wakeup are not going to be able to do that. For now, we'll just live with that problem ... since usbcore expects to do selective suspend on the way towards a full bus suspend, and usbcore needs to be able to do full bus suspend. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/host/ehci.h')
-rw-r--r--drivers/usb/host/ehci.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h
index 18e257c2bdb5..86af41c41de1 100644
--- a/drivers/usb/host/ehci.h
+++ b/drivers/usb/host/ehci.h
@@ -89,6 +89,8 @@ struct ehci_hcd { /* one per controller */
89 u32 command; 89 u32 command;
90 90
91 unsigned is_tdi_rh_tt:1; /* TDI roothub with TT */ 91 unsigned is_tdi_rh_tt:1; /* TDI roothub with TT */
92 unsigned no_selective_suspend:1;
93 u8 sbrn; /* packed release number */
92 94
93 /* irq statistics */ 95 /* irq statistics */
94#ifdef EHCI_STATS 96#ifdef EHCI_STATS
@@ -97,7 +99,6 @@ struct ehci_hcd { /* one per controller */
97#else 99#else
98# define COUNT(x) do {} while (0) 100# define COUNT(x) do {} while (0)
99#endif 101#endif
100 u8 sbrn; /* packed release number */
101}; 102};
102 103
103/* convert between an HCD pointer and the corresponding EHCI_HCD */ 104/* convert between an HCD pointer and the corresponding EHCI_HCD */