diff options
author | Ajitpal.Singh <ajitpal.singh@stericsson.com> | 2011-07-26 11:33:23 +0530 |
---|---|---|
committer | Philippe LANGLAIS <philippe.langlais@stericsson.com> | 2011-10-13 09:49:09 +0200 |
commit | ba182bfe51dca76b2d2ab05082f09f7686dda6d9 (patch) | |
tree | b8d9a3e594144583e8a1e58dd9e4a5b962970424 | |
parent | 7156b971c227804a27a824427d9de8c04f3527c5 (diff) |
cw1200: Support for non-Greenfield STA protection
+Support for non-Greenfield enabled STA protection
when our STA is operating in Greenfield mode
Change-Id: Id356467812713a7869ed81f3daf0993dcb768593
Signed-off-by: Ajitpal.Singh <ajitpal.singh@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27806
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33490
Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com>
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
-rwxr-xr-x | drivers/staging/cw1200/ap.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/staging/cw1200/ap.c b/drivers/staging/cw1200/ap.c index fc23ff74100..adff7d51fc2 100755 --- a/drivers/staging/cw1200/ap.c +++ b/drivers/staging/cw1200/ap.c @@ -233,7 +233,6 @@ void cw1200_bss_info_changed(struct ieee80211_hw *dev, /* Associated: kill join timeout */ cancel_delayed_work_sync(&priv->join_timeout); - /* TODO: This code is not verified {{{ */ rcu_read_lock(); if (info->bssid) sta = ieee80211_find_sta(vif, info->bssid); @@ -254,7 +253,20 @@ void cw1200_bss_info_changed(struct ieee80211_hw *dev, priv->bss_params.operationalRateSet = -1; } rcu_read_unlock(); - /* }}} */ + + if (sta) { + __le32 val = 0; + if (priv->ht_info.operation_mode & + IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT) { + ap_printk(KERN_DEBUG"[STA]" + " Non-GF STA present\n"); + /* Non Green field capable STA */ + val = __cpu_to_le32(BIT(1)); + } + WARN_ON(wsm_write_mib(priv, + WSM_MID_ID_SET_HT_PROTECTION, + &val, sizeof(val))); + } priv->association_mode.greenfieldMode = cw1200_ht_greenfield(&priv->ht_info); |