mac80211: make beacon filtering per virtual interface
Due to firmware limitations, we may not be able to support beacon filtering on all virtual interfaces. To allow this in mac80211, introduce per-interface driver capability flags that the driver sets when an interface is added. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Acked-by: Luciano Coelho <coelho@ti.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
47d505ccc7
commit
c1288b1278
@@ -309,7 +309,6 @@ static void _rtl_init_mac80211(struct ieee80211_hw *hw)
|
||||
/* <5> set hw caps */
|
||||
hw->flags = IEEE80211_HW_SIGNAL_DBM |
|
||||
IEEE80211_HW_RX_INCLUDES_FCS |
|
||||
IEEE80211_HW_BEACON_FILTER |
|
||||
IEEE80211_HW_AMPDU_AGGREGATION |
|
||||
IEEE80211_HW_CONNECTION_MONITOR |
|
||||
/* IEEE80211_HW_SUPPORTS_CQM_RSSI | */
|
||||
|
@@ -112,6 +112,8 @@ static int rtl_op_add_interface(struct ieee80211_hw *hw,
|
||||
struct rtl_mac *mac = rtl_mac(rtl_priv(hw));
|
||||
int err = 0;
|
||||
|
||||
vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER;
|
||||
|
||||
if (mac->vif) {
|
||||
RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING,
|
||||
"vif has been set!! mac->vif = 0x%p\n", mac->vif);
|
||||
|
Reference in New Issue
Block a user