diff options
author | Jouni Malinen <jouni.malinen@atheros.com> | 2009-03-03 19:23:30 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-03-05 14:39:45 -0500 |
commit | b93bce2a5e8fd5c9f5d8c982efd6bca71a9b83f3 (patch) | |
tree | 939c17bf0c6c9741aa078611b9ae610d6f36fe29 /drivers/net/wireless/ath9k/recv.c | |
parent | c52f33d05e5f8d59f02722fbc308f5f391575ca5 (diff) | |
download | lwn-b93bce2a5e8fd5c9f5d8c982efd6bca71a9b83f3.tar.gz lwn-b93bce2a5e8fd5c9f5d8c982efd6bca71a9b83f3.zip |
ath9k: Configure RX filter for multi-BSSID broadcast
Allow RX filter to pass through all broadcast/multicast frames (i.e.,
no BSSID filtering) if virtual interfaces are used. Software filtering
will be used in this case to drop broadcast/multicast frames for
foreign BSSIDs.
Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath9k/recv.c')
-rw-r--r-- | drivers/net/wireless/ath9k/recv.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath9k/recv.c b/drivers/net/wireless/ath9k/recv.c index a9a55df500a4..3df5c7824360 100644 --- a/drivers/net/wireless/ath9k/recv.c +++ b/drivers/net/wireless/ath9k/recv.c @@ -407,6 +407,14 @@ u32 ath_calcrxfilter(struct ath_softc *sc) if (sc->sc_ah->opmode == NL80211_IFTYPE_AP) rfilt |= ATH9K_RX_FILTER_PSPOLL; + if (sc->sec_wiphy) { + /* TODO: only needed if more than one BSSID is in use in + * station/adhoc mode */ + /* TODO: for older chips, may need to add ATH9K_RX_FILTER_PROM + */ + rfilt |= ATH9K_RX_FILTER_MCAST_BCAST_ALL; + } + return rfilt; #undef RX_FILTER_PRESERVE |