mac80211: remove support for IFF_PROMISC
This support is essentially useless as typically networks are encrypted, frames will be filtered by hardware, and rate scaling will be done with the intended recipient in mind. For real monitoring of the network, the monitor mode support should be used instead. Removing it removes a lot of corner cases. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
@@ -763,8 +763,7 @@ static u64 wl1251_op_prepare_multicast(struct ieee80211_hw *hw,
|
||||
return (u64)(unsigned long)fp;
|
||||
}
|
||||
|
||||
#define WL1251_SUPPORTED_FILTERS (FIF_PROMISC_IN_BSS | \
|
||||
FIF_ALLMULTI | \
|
||||
#define WL1251_SUPPORTED_FILTERS (FIF_ALLMULTI | \
|
||||
FIF_FCSFAIL | \
|
||||
FIF_BCN_PRBRESP_PROMISC | \
|
||||
FIF_CONTROL | \
|
||||
@@ -795,10 +794,6 @@ static void wl1251_op_configure_filter(struct ieee80211_hw *hw,
|
||||
wl->rx_config = WL1251_DEFAULT_RX_CONFIG;
|
||||
wl->rx_filter = WL1251_DEFAULT_RX_FILTER;
|
||||
|
||||
if (*total & FIF_PROMISC_IN_BSS) {
|
||||
wl->rx_config |= CFG_BSSID_FILTER_EN;
|
||||
wl->rx_config |= CFG_RX_ALL_GOOD;
|
||||
}
|
||||
if (*total & FIF_ALLMULTI)
|
||||
/*
|
||||
* CFG_MC_FILTER_EN in rx_config needs to be 0 to receive
|
||||
@@ -825,7 +820,7 @@ static void wl1251_op_configure_filter(struct ieee80211_hw *hw,
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
|
||||
if (*total & FIF_ALLMULTI || *total & FIF_PROMISC_IN_BSS)
|
||||
if (*total & FIF_ALLMULTI)
|
||||
ret = wl1251_acx_group_address_tbl(wl, false, NULL, 0);
|
||||
else if (fp)
|
||||
ret = wl1251_acx_group_address_tbl(wl, fp->enabled,
|
||||
|
@@ -3175,8 +3175,7 @@ static u64 wl1271_op_prepare_multicast(struct ieee80211_hw *hw,
|
||||
return (u64)(unsigned long)fp;
|
||||
}
|
||||
|
||||
#define WL1271_SUPPORTED_FILTERS (FIF_PROMISC_IN_BSS | \
|
||||
FIF_ALLMULTI | \
|
||||
#define WL1271_SUPPORTED_FILTERS (FIF_ALLMULTI | \
|
||||
FIF_FCSFAIL | \
|
||||
FIF_BCN_PRBRESP_PROMISC | \
|
||||
FIF_CONTROL | \
|
||||
|
Reference in New Issue
Block a user