summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>2011-07-11 16:03:44 +0200
committerPhilippe LANGLAIS <philippe.langlais@stericsson.com>2011-10-12 13:46:46 +0200
commit65ff576e01f45a0ec7db8db367bec0be32e50206 (patch)
tree3b5a860656f1e5071818ba20e819dd9e63688e2f
parent7fe82611337427cea5c6eae91df202b8a2985252 (diff)
cw1200: Syncing WSM API usage with firmware team.
* WSM is not officially supporting link ID mapping in STA mode. * Foregroung scan is not officially supported when joined. Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Change-Id: I4a72884ae2d0202f1d57ff724c7323df2177441a Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27072 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33479 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
-rw-r--r--drivers/staging/cw1200/ap.c5
-rw-r--r--drivers/staging/cw1200/scan.c7
2 files changed, 7 insertions, 5 deletions
diff --git a/drivers/staging/cw1200/ap.c b/drivers/staging/cw1200/ap.c
index 561dab3f94f..f17ce334ed1 100644
--- a/drivers/staging/cw1200/ap.c
+++ b/drivers/staging/cw1200/ap.c
@@ -38,13 +38,8 @@ int cw1200_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
.link_id = 0,
};
-
- /* Link ID mapping works fine in STA mode as well.
- * It's better to keep same handling for both STA ans AP modes */
-#if 0
if (priv->mode != NL80211_IFTYPE_AP)
return 0;
-#endif
map_link.link_id = ffs(~(priv->link_id_map | 1)) - 1;
if (map_link.link_id > CW1200_MAX_STA_IN_AP_MODE) {
diff --git a/drivers/staging/cw1200/scan.c b/drivers/staging/cw1200/scan.c
index 6e5b89c5635..7fb42d4ee05 100644
--- a/drivers/staging/cw1200/scan.c
+++ b/drivers/staging/cw1200/scan.c
@@ -192,6 +192,11 @@ void cw1200_scan_work(struct work_struct *work)
scan.numOfChannels = it - priv->scan.begin;
/* TODO: Is it optimal? */
scan.probeDelay = 100;
+ /* It is not stated in WSM specification, however
+ * FW team says that driver may not use FG scan
+ * when joined. */
+ if (priv->join_status == CW1200_JOIN_STATUS_STA)
+ scan.scanType = WSM_SCAN_TYPE_BACKGROUND;
scan.ch = kzalloc(
sizeof(struct wsm_scan_ch[it - priv->scan.begin]),
GFP_KERNEL);
@@ -324,6 +329,8 @@ void cw1200_probe_work(struct work_struct *work)
scan.band = (priv->channel->band == IEEE80211_BAND_5GHZ) ?
WSM_PHY_BAND_5G : WSM_PHY_BAND_2_4G;
+ if (priv->join_status == CW1200_JOIN_STATUS_STA)
+ scan.scanType = WSM_SCAN_TYPE_BACKGROUND;
ch[0].number = priv->channel->hw_value;
skb_pull(frame.skb, sizeof(struct wsm_tx));