diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2014-07-18 16:26:17 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-07-18 16:34:29 -0700 |
commit | 499b3803d3e2f062f73bf22372b38393369ffcbf (patch) | |
tree | 4f33ecaf596af157df8a4cdccbf1fd2ea5f6e3f0 /drivers/usb/host/ohci.h | |
parent | 81e38333513cec155c720432226dabe9f9f76a77 (diff) | |
download | linux-stable-499b3803d3e2f062f73bf22372b38393369ffcbf.tar.gz linux-stable-499b3803d3e2f062f73bf22372b38393369ffcbf.tar.bz2 linux-stable-499b3803d3e2f062f73bf22372b38393369ffcbf.zip |
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.h | 1 |
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 { // there are also chip quirks/bugs in init logic + unsigned prev_frame_no; unsigned wdh_cnt, prev_wdh_cnt; u32 prev_donehead; struct timer_list io_watchdog; |