diff options
Diffstat (limited to 'drivers/net/wireless/libertas')
-rw-r--r-- | drivers/net/wireless/libertas/main.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c index 9677b0d77160..74353e1d72ff 100644 --- a/drivers/net/wireless/libertas/main.c +++ b/drivers/net/wireless/libertas/main.c | |||
@@ -476,6 +476,13 @@ static void lbs_tx_timeout(struct net_device *dev) | |||
476 | to kick it somehow? */ | 476 | to kick it somehow? */ |
477 | lbs_host_to_card_done(priv); | 477 | lbs_host_to_card_done(priv); |
478 | 478 | ||
479 | /* More often than not, this actually happens because the | ||
480 | firmware has crapped itself -- rather than just a very | ||
481 | busy medium. So send a harmless command, and if/when | ||
482 | _that_ times out, we'll kick it in the head. */ | ||
483 | lbs_prepare_and_send_command(priv, CMD_802_11_RSSI, 0, | ||
484 | 0, 0, NULL); | ||
485 | |||
479 | lbs_deb_leave(LBS_DEB_TX); | 486 | lbs_deb_leave(LBS_DEB_TX); |
480 | } | 487 | } |
481 | 488 | ||