aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/wl12xx.h
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2012-03-03 22:18:00 +0200
committerLuciano Coelho <coelho@ti.com>2012-03-08 14:25:18 +0200
commit55df5afb13718cda49128fa5985556df91d07765 (patch)
treebb6c9279e12b90af623ba6ea4b17ea85f679e251 /drivers/net/wireless/wl12xx/wl12xx.h
parentwl12xx: print the tx packet len (diff)
downloadlinux-dev-55df5afb13718cda49128fa5985556df91d07765.tar.xz
linux-dev-55df5afb13718cda49128fa5985556df91d07765.zip
wl12xx: implement SW Tx watchdog
Track freed FW blocks during Tx. If no blocks were freed during a predefined timeout, initiate a HW recovery. This helps in situations when the FW watchdog fails. Don't trigger recovery during activities that can temporarily stop Tx. This includes: - scanning - buffering packets for sleeping stations (AP role) - ROC on any role Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to '')
-rw-r--r--drivers/net/wireless/wl12xx/wl12xx.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/wl12xx.h b/drivers/net/wireless/wl12xx/wl12xx.h
index 6e13a3073e9f..749a15a75d38 100644
--- a/drivers/net/wireless/wl12xx/wl12xx.h
+++ b/drivers/net/wireless/wl12xx/wl12xx.h
@@ -495,6 +495,9 @@ struct wl1271 {
/* last wlvif we transmitted from */
struct wl12xx_vif *last_wlvif;
+
+ /* work to fire when Tx is stuck */
+ struct delayed_work tx_watchdog_work;
};
struct wl1271_station {