summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSolomon Peachy <speachy@sagrad.com>2013-05-14 12:58:42 -0400
committerSolomon Peachy <speachy@sagrad.com>2013-05-14 12:58:42 -0400
commit9c153e89e65172e7df7a1cc219e85fcf503b6e5a (patch)
treeb3b3c0213ce0415ac09fdddac8a1746f34547956
parent3741de2f13dc3863b0a97bc5fac8535faf67649e (diff)
downloadcompat-wireless-cw1200-9c153e89e65172e7df7a1cc219e85fcf503b6e5a.tar.gz
compat-wireless-cw1200-9c153e89e65172e7df7a1cc219e85fcf503b6e5a.tar.bz2
compat-wireless-cw1200-9c153e89e65172e7df7a1cc219e85fcf503b6e5a.zip
[cw1200] Add a module parameter that disables bss loss mitigation
-rw-r--r--drivers/net/wireless/cw1200/sta.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/wireless/cw1200/sta.c b/drivers/net/wireless/cw1200/sta.c
index 79fdcbe..bca9c60 100644
--- a/drivers/net/wireless/cw1200/sta.c
+++ b/drivers/net/wireless/cw1200/sta.c
@@ -142,6 +142,11 @@ void cw1200_stop(struct ieee80211_hw *dev)
atomic_xchg(&priv->tx_lock, 0); /* for recovery to work */
}
+static int cw1200_bssloss_mitigation = 1;
+module_param(cw1200_bssloss_mitigation, int, 0644);
+MODULE_PARM_DESC(cw1200_bssloss_mitigation, "BSS Loss mitigation. 0 == disabled, 1 == enabled (default)");
+
+
void __cw1200_cqm_bssloss_sm(struct cw1200_common *priv,
int init, int good, int bad)
{
@@ -182,6 +187,10 @@ void __cw1200_cqm_bssloss_sm(struct cw1200_common *priv,
priv->bss_loss_state = 0;
}
+ /* Bypass mitigation if it's disabled */
+ if (!cw1200_bssloss_mitigation)
+ tx = 0;
+
/* Spit out a NULL packet to our AP if necessary */
if (tx) {
struct sk_buff *skb;