summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>2012-02-29 15:14:08 +0100
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:06:35 +0200
commitd875b4fc6fe56c9acef2d51dea3e6c6cac0dfe9e (patch)
tree61b96cc076c4318421a11de34950ee2c2465ef90
parentc81d6835ff70b5f4132d1cef32329e4f0ecde220 (diff)
cw1200: Disable BSSID filtering in monitor mode.
Firmware requires that BSSID filtering must be always disabled in monitor mode. ST-Ericsson ID: 366402 Change-Id: I8677197d2a661dcc9b97d73cd798ebbbe32cfce7 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33937 Reviewed-by: QABUILD Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
-rw-r--r--drivers/staging/cw1200/sta.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/staging/cw1200/sta.c b/drivers/staging/cw1200/sta.c
index 7acc38a4944..3e81513b681 100644
--- a/drivers/staging/cw1200/sta.c
+++ b/drivers/staging/cw1200/sta.c
@@ -433,9 +433,12 @@ int cw1200_config(struct ieee80211_hw *dev, u32 changed)
void cw1200_update_filtering(struct cw1200_common *priv)
{
int ret;
+ bool bssid_filtering = !priv->rx_filter.bssid;
if (priv->join_status == CW1200_JOIN_STATUS_PASSIVE)
return;
+ else if (priv->join_status == CW1200_JOIN_STATUS_MONITOR)
+ bssid_filtering = false;
ret = wsm_set_rx_filter(priv, &priv->rx_filter);
if (!ret)
@@ -443,7 +446,7 @@ void cw1200_update_filtering(struct cw1200_common *priv)
if (!ret)
ret = wsm_beacon_filter_control(priv, &priv->bf_control);
if (!ret)
- ret = wsm_set_bssid_filtering(priv, !priv->rx_filter.bssid);
+ ret = wsm_set_bssid_filtering(priv, bssid_filtering);
if (!ret)
ret = wsm_set_multicast_filter(priv, &priv->multicast_filter);
if (ret)