Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit df140465 authored by Johannes Berg's avatar Johannes Berg
Browse files

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: default avatarJohannes Berg <johannes.berg@intel.com>
parent ebd82b39
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -1353,12 +1353,7 @@ static void adm8211_configure_filter(struct ieee80211_hw *dev,

	new_flags = 0;

	if (*total_flags & FIF_PROMISC_IN_BSS) {
		new_flags |= FIF_PROMISC_IN_BSS;
		priv->nar |= ADM8211_NAR_PR;
		priv->nar &= ~ADM8211_NAR_MM;
		mc_filter[1] = mc_filter[0] = ~0;
	} else if (*total_flags & FIF_ALLMULTI || multicast == ~(0ULL)) {
	if (*total_flags & FIF_ALLMULTI || multicast == ~(0ULL)) {
		new_flags |= FIF_ALLMULTI;
		priv->nar &= ~ADM8211_NAR_PR;
		priv->nar |= ADM8211_NAR_MM;
+1 −1
Original line number Diff line number Diff line
@@ -447,7 +447,7 @@ struct at76_priv {
	int mac80211_registered;
};

#define AT76_SUPPORTED_FILTERS FIF_PROMISC_IN_BSS
#define AT76_SUPPORTED_FILTERS 0

#define SCAN_POLL_INTERVAL	(HZ / 4)

+1 −2
Original line number Diff line number Diff line
@@ -1319,8 +1319,7 @@ static void ar5523_bss_info_changed(struct ieee80211_hw *hw,

}

#define AR5523_SUPPORTED_FILTERS (FIF_PROMISC_IN_BSS | \
				  FIF_ALLMULTI | \
#define AR5523_SUPPORTED_FILTERS (FIF_ALLMULTI | \
				  FIF_FCSFAIL | \
				  FIF_OTHER_BSS)

+1 −3
Original line number Diff line number Diff line
@@ -773,7 +773,6 @@ static int ath10k_monitor_recalc(struct ath10k *ar)
	lockdep_assert_held(&ar->conf_mutex);

	should_start = ar->monitor ||
		       ar->filter_flags & FIF_PROMISC_IN_BSS ||
		       test_bit(ATH10K_CAC_RUNNING, &ar->dev_flags);

	ath10k_dbg(ar, ATH10K_DBG_MAC,
@@ -3493,8 +3492,7 @@ static void ath10k_remove_interface(struct ieee80211_hw *hw,
 * FIXME: Has to be verified.
 */
#define SUPPORTED_FILTERS			\
	(FIF_PROMISC_IN_BSS |			\
	FIF_ALLMULTI |				\
	(FIF_ALLMULTI |				\
	FIF_CONTROL |				\
	FIF_PSPOLL |				\
	FIF_OTHER_BSS |				\
+0 −1
Original line number Diff line number Diff line
@@ -1280,7 +1280,6 @@ struct ath5k_hw {

	DECLARE_BITMAP(status, 4);
#define ATH_STAT_INVALID	0		/* disable hardware accesses */
#define ATH_STAT_PROMISC	1
#define ATH_STAT_LEDSOFT	2		/* enable LED gpio status */
#define ATH_STAT_STARTED	3		/* opened & irqs enabled */
#define ATH_STAT_RESET		4		/* hw reset */
Loading