Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 354eca98 authored by David Woodhouse's avatar David Woodhouse Committed by David S. Miller
Browse files

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: default avatarDavid Woodhouse <dwmw2@infradead.org>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 18c52e7c
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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);
}