USB: EHCI: fix handling of dead controllers
authorAlan Stern <stern@rowland.harvard.edu>
Wed, 12 Nov 2008 22:04:53 +0000 (17:04 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 13 Nov 2008 22:45:05 +0000 (14:45 -0800)
commit67b2e029743a52670d77864723b4d0d40f7733b5
tree56b9168cd6e99a9fad6a821bd86377e2a586984a
parent5863964608489f6dbf4b5f3118b45b3750a8274d
USB: EHCI: fix handling of dead controllers

This patch (as1165) makes a few small changes in the logic used by
ehci-hcd when it encounters a controller error:

Instead of printing out the masked status, it prints the
original status as read directly from the hardware.

It doesn't check for the STS_HALT status bit before taking
action.  The mere fact that the STS_FATAL bit is set means
that something bad has happened and the controller needs to
be reset.  With the old code this test could never succeed
because the STS_HALT bit was masked out from the status.

I anticipate that this will prevent the occasional "irq X: nobody cared"
problem people encounter when their EHCI controllers die.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: David Brownell <david-b@pacbell.net>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/ehci-hcd.c