summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAjitpal.Singh <ajitpal.singh@stericsson.com>2011-07-26 11:33:23 +0530
committerPhilippe LANGLAIS <philippe.langlais@stericsson.com>2011-10-13 09:49:09 +0200
commitba182bfe51dca76b2d2ab05082f09f7686dda6d9 (patch)
treeb8d9a3e594144583e8a1e58dd9e4a5b962970424
parent7156b971c227804a27a824427d9de8c04f3527c5 (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-xdrivers/staging/cw1200/ap.c16
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);