diff options
Diffstat (limited to 'drivers/net/wireless/ath9k/recv.c')
-rw-r--r-- | drivers/net/wireless/ath9k/recv.c | 11 |
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; |