libertas: detect TX lockups and reset hardware
authorDaniel Drake <dsd@laptop.org>
Mon, 3 Oct 2011 10:33:02 +0000 (11:33 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 3 Oct 2011 19:22:41 +0000 (15:22 -0400)
Recent patches added support for resetting the SD8686 hardware when
commands time out, which seems to happen quite frequently soon after
resuming the system from a Wake-on-WLAN-triggered resume.

At http://dev.laptop.org/ticket/10969 we see the same thing happen
with transmits. In this case, the hardware will fail to respond to
a frame passed for transmission, and libertas (correctly) will block
all further commands and transmissions as the hardware can only
deal with one thing at a time. This results in a lockup while the
system waits indefinitely for the dead card to respond.

Hook up a TX lockup timer to detect this and reset the hardware.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

No differences found