aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/ohci.h
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2014-07-18 16:26:17 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-07-18 19:34:29 -0400
commit499b3803d3e2f062f73bf22372b38393369ffcbf (patch)
tree4f33ecaf596af157df8a4cdccbf1fd2ea5f6e3f0 /drivers/usb/host/ohci.h
parent81e38333513cec155c720432226dabe9f9f76a77 (diff)
USB: OHCI: add check for stopped frame counter
This patch adds an extra check to ohci-hcd's I/O watchdog routine. If the controller stops updating the frame counter, we will assume it is dead. But there has to be an exception: Some controllers stop the frame counter when no ports are connected. Check to make sure there is at least one active port before deciding the controller is dead. (This test may appear racy, but it isn't. Enabling a newly connected port takes several milliseconds, during which time the frame counter must advance.) Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Tested-by: Dennis New <dennisn@dennisn.linuxd.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host/ohci.h')
-rw-r--r--drivers/usb/host/ohci.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/host/ohci.h b/drivers/usb/host/ohci.h
index 0548f5ca18e2..59f424567a8d 100644
--- a/drivers/usb/host/ohci.h
+++ b/drivers/usb/host/ohci.h
@@ -421,6 +421,7 @@ struct ohci_hcd {
421 421
422 // there are also chip quirks/bugs in init logic 422 // there are also chip quirks/bugs in init logic
423 423
424 unsigned prev_frame_no;
424 unsigned wdh_cnt, prev_wdh_cnt; 425 unsigned wdh_cnt, prev_wdh_cnt;
425 u32 prev_donehead; 426 u32 prev_donehead;
426 struct timer_list io_watchdog; 427 struct timer_list io_watchdog;