libertas: submit RSSI command on tx timeout, to check whether module is dead
We don't necessarily want to reset the device on a TX timeout. But more often than not, the real cause is that the firmware has crapped itself, not just that the network is busy. So submit any harmless command, and if _that_ times out, then the error handling code will reset the module, as appropriate. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
18c52e7c3e
commit
354eca9820
|
@ -476,6 +476,13 @@ static void lbs_tx_timeout(struct net_device *dev)
|
|||
to kick it somehow? */
|
||||
lbs_host_to_card_done(priv);
|
||||
|
||||
/* More often than not, this actually happens because the
|
||||
firmware has crapped itself -- rather than just a very
|
||||
busy medium. So send a harmless command, and if/when
|
||||
_that_ times out, we'll kick it in the head. */
|
||||
lbs_prepare_and_send_command(priv, CMD_802_11_RSSI, 0,
|
||||
0, 0, NULL);
|
||||
|
||||
lbs_deb_leave(LBS_DEB_TX);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue