Skip to content

Instantly share code, notes, and snippets.

@codedwrench
Created October 12, 2020 06:36
Show Gist options
  • Save codedwrench/d2cc95dceaf4d49f460db6a22b70e000 to your computer and use it in GitHub Desktop.
Save codedwrench/d2cc95dceaf4d49f460db6a22b70e000 to your computer and use it in GitHub Desktop.
diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
index a779fe771..2689edbb7 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
@@ -1889,7 +1889,8 @@ void rt2800_config_filter(struct rt2x00_dev *rt2x00dev,
rt2x00_set_field32(&reg, RX_FILTER_CFG_DROP_PHY_ERROR,
!(filter_flags & FIF_PLCPFAIL));
rt2x00_set_field32(&reg, RX_FILTER_CFG_DROP_NOT_TO_ME,
- !test_bit(CONFIG_MONITORING, &rt2x00dev->flags));
+ !test_bit(CONFIG_MONITORING, &rt2x00dev->flags) &&
+ !(filter_flags & FIF_PROMISC_IN_BSS));
rt2x00_set_field32(&reg, RX_FILTER_CFG_DROP_NOT_MY_BSSD, 0);
rt2x00_set_field32(&reg, RX_FILTER_CFG_DROP_VER_ERROR, 1);
rt2x00_set_field32(&reg, RX_FILTER_CFG_DROP_MULTICAST,
diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c b/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c
index 2f68a3107..cab04380d 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00mac.c
@@ -364,6 +364,7 @@ void rt2x00mac_configure_filter(struct ieee80211_hw *hw,
* from the total_flags field.
*/
*total_flags &=
+ FIF_PROMISC_IN_BSS |
FIF_ALLMULTI |
FIF_FCSFAIL |
FIF_PLCPFAIL |
@codedwrench
Copy link
Author

Use in combination with mac80211 promisc patch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment