From 2d6497b7d16bde17a2f24bcfd9182009f83ae123 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Mon, 17 Dec 2007 19:22:40 -0500 Subject: [PATCH] --- yaml --- r: 79249 b: refs/heads/master c: 354eca9820f1efbf11978585640f1b2e92d4c5b4 h: refs/heads/master i: 79247: 2f4ab4e34f2586a1a2583145814fa6f56a7d1530 v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/libertas/main.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 7dbfa7480e50..873167aeb37f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 18c52e7c3e3d0e7fbddd0334b58030bb89554cb9 +refs/heads/master: 354eca9820f1efbf11978585640f1b2e92d4c5b4 diff --git a/trunk/drivers/net/wireless/libertas/main.c b/trunk/drivers/net/wireless/libertas/main.c index 9677b0d77160..74353e1d72ff 100644 --- a/trunk/drivers/net/wireless/libertas/main.c +++ b/trunk/drivers/net/wireless/libertas/main.c @@ -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); }