diff options
author | Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> | 2012-02-29 15:14:08 +0100 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:06:35 +0200 |
commit | d875b4fc6fe56c9acef2d51dea3e6c6cac0dfe9e (patch) | |
tree | 61b96cc076c4318421a11de34950ee2c2465ef90 | |
parent | c81d6835ff70b5f4132d1cef32329e4f0ecde220 (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.c | 5 |
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) |