ath9k_htc: 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 <jouni@codeaurora.org> Reported-by: kbuild test robot <lkp@intel.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/20200426084733.7889-2-jouni@codeaurora.org
This commit is contained in:
committed by
Kalle Valo
parent
c01c320d24
commit
2a9311b5d3
@@ -780,6 +780,8 @@ static void ath9k_set_hw_capab(struct ath9k_htc_priv *priv,
|
|||||||
SET_IEEE80211_PERM_ADDR(hw, common->macaddr);
|
SET_IEEE80211_PERM_ADDR(hw, common->macaddr);
|
||||||
|
|
||||||
wiphy_ext_feature_set(hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST);
|
wiphy_ext_feature_set(hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST);
|
||||||
|
wiphy_ext_feature_set(hw->wiphy,
|
||||||
|
NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ath9k_init_firmware_version(struct ath9k_htc_priv *priv)
|
static int ath9k_init_firmware_version(struct ath9k_htc_priv *priv)
|
||||||
|
|||||||
@@ -1251,6 +1251,7 @@ out:
|
|||||||
FIF_OTHER_BSS | \
|
FIF_OTHER_BSS | \
|
||||||
FIF_BCN_PRBRESP_PROMISC | \
|
FIF_BCN_PRBRESP_PROMISC | \
|
||||||
FIF_PROBE_REQ | \
|
FIF_PROBE_REQ | \
|
||||||
|
FIF_MCAST_ACTION | \
|
||||||
FIF_FCSFAIL)
|
FIF_FCSFAIL)
|
||||||
|
|
||||||
static void ath9k_htc_configure_filter(struct ieee80211_hw *hw,
|
static void ath9k_htc_configure_filter(struct ieee80211_hw *hw,
|
||||||
|
|||||||
@@ -893,7 +893,8 @@ u32 ath9k_htc_calcrxfilter(struct ath9k_htc_priv *priv)
|
|||||||
if (priv->rxfilter & FIF_PSPOLL)
|
if (priv->rxfilter & FIF_PSPOLL)
|
||||||
rfilt |= ATH9K_RX_FILTER_PSPOLL;
|
rfilt |= ATH9K_RX_FILTER_PSPOLL;
|
||||||
|
|
||||||
if (priv->nvifs > 1 || priv->rxfilter & FIF_OTHER_BSS)
|
if (priv->nvifs > 1 ||
|
||||||
|
priv->rxfilter & (FIF_OTHER_BSS | FIF_MCAST_ACTION))
|
||||||
rfilt |= ATH9K_RX_FILTER_MCAST_BCAST_ALL;
|
rfilt |= ATH9K_RX_FILTER_MCAST_BCAST_ALL;
|
||||||
|
|
||||||
return rfilt;
|
return rfilt;
|
||||||
|
|||||||
Reference in New Issue
Block a user