aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath9k/recv.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath9k/recv.c')
-rw-r--r--drivers/net/wireless/ath9k/recv.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/wireless/ath9k/recv.c b/drivers/net/wireless/ath9k/recv.c
index 9439cb351118..0bba17662a1f 100644
--- a/drivers/net/wireless/ath9k/recv.c
+++ b/drivers/net/wireless/ath9k/recv.c
@@ -385,14 +385,15 @@ u32 ath_calcrxfilter(struct ath_softc *sc)
385 if (sc->sc_ah->opmode != NL80211_IFTYPE_STATION) 385 if (sc->sc_ah->opmode != NL80211_IFTYPE_STATION)
386 rfilt |= ATH9K_RX_FILTER_PROBEREQ; 386 rfilt |= ATH9K_RX_FILTER_PROBEREQ;
387 387
388 /* Can't set HOSTAP into promiscous mode */ 388 /*
389 * Set promiscuous mode when FIF_PROMISC_IN_BSS is enabled for station
390 * mode interface or when in monitor mode. AP mode does not need this
391 * since it receives all in-BSS frames anyway.
392 */
389 if (((sc->sc_ah->opmode != NL80211_IFTYPE_AP) && 393 if (((sc->sc_ah->opmode != NL80211_IFTYPE_AP) &&
390 (sc->rx.rxfilter & FIF_PROMISC_IN_BSS)) || 394 (sc->rx.rxfilter & FIF_PROMISC_IN_BSS)) ||
391 (sc->sc_ah->opmode == NL80211_IFTYPE_MONITOR)) { 395 (sc->sc_ah->opmode == NL80211_IFTYPE_MONITOR))
392 rfilt |= ATH9K_RX_FILTER_PROM; 396 rfilt |= ATH9K_RX_FILTER_PROM;
393 /* ??? To prevent from sending ACK */
394 rfilt &= ~ATH9K_RX_FILTER_UCAST;
395 }
396 397
397 if (sc->rx.rxfilter & FIF_CONTROL) 398 if (sc->rx.rxfilter & FIF_CONTROL)
398 rfilt |= ATH9K_RX_FILTER_CONTROL; 399 rfilt |= ATH9K_RX_FILTER_CONTROL;