Skip to content

Commit c01c320

Browse files
Jouni MalinenKalle Valo
authored andcommitted
ath9k: Set RX filter based to allow broadcast Action frame RX
Advertise support for multicast frame registration and update the RX filter based on the recently added FIF_MCAST_ACTION to allow broadcast Action frames to be received. This is needed for Device Provisioning Protocol (DPP) use cases that use broadcast Public Action frames. Signed-off-by: Jouni Malinen <[email protected]> Signed-off-by: Kalle Valo <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent b1cb6ad commit c01c320

File tree

3 files changed

+5
-1
lines changed

3 files changed

+5
-1
lines changed

drivers/net/wireless/ath/ath9k/init.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1012,6 +1012,8 @@ static void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw)
10121012

10131013
wiphy_ext_feature_set(hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST);
10141014
wiphy_ext_feature_set(hw->wiphy, NL80211_EXT_FEATURE_AIRTIME_FAIRNESS);
1015+
wiphy_ext_feature_set(hw->wiphy,
1016+
NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS);
10151017
}
10161018

10171019
int ath9k_init_device(u16 devid, struct ath_softc *sc,

drivers/net/wireless/ath/ath9k/main.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1476,6 +1476,7 @@ static int ath9k_config(struct ieee80211_hw *hw, u32 changed)
14761476
FIF_OTHER_BSS | \
14771477
FIF_BCN_PRBRESP_PROMISC | \
14781478
FIF_PROBE_REQ | \
1479+
FIF_MCAST_ACTION | \
14791480
FIF_FCSFAIL)
14801481

14811482
/* FIXME: sc->sc_full_reset ? */

drivers/net/wireless/ath/ath9k/recv.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,8 @@ u32 ath_calcrxfilter(struct ath_softc *sc)
413413
if (sc->cur_chandef.width != NL80211_CHAN_WIDTH_20_NOHT)
414414
rfilt |= ATH9K_RX_FILTER_COMP_BAR;
415415

416-
if (sc->cur_chan->nvifs > 1 || (sc->cur_chan->rxfilter & FIF_OTHER_BSS)) {
416+
if (sc->cur_chan->nvifs > 1 ||
417+
(sc->cur_chan->rxfilter & (FIF_OTHER_BSS | FIF_MCAST_ACTION))) {
417418
/* This is needed for older chips */
418419
if (sc->sc_ah->hw_version.macVersion <= AR_SREV_VERSION_9160)
419420
rfilt |= ATH9K_RX_FILTER_PROM;

0 commit comments

Comments
 (0)