USB: OHCI: add check for stopped frame counter
authorAlan Stern <stern@rowland.harvard.edu>
Fri, 18 Jul 2014 20:26:17 +0000 (16:26 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 18 Jul 2014 23:34:29 +0000 (16:34 -0700)
commit499b3803d3e2f062f73bf22372b38393369ffcbf
tree4f33ecaf596af157df8a4cdccbf1fd2ea5f6e3f0
parent81e38333513cec155c720432226dabe9f9f76a77
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>
drivers/usb/host/ohci-hcd.c
drivers/usb/host/ohci.h