From 4a11cc1256848b000459aa25141b8d8249f4ece2 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 8 Dec 2017 13:28:23 +0100 Subject: [PATCH] mt7603: configure other-unicast drop based on monitor mode setting Signed-off-by: Felix Fietkau --- mt7603_main.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/mt7603_main.c b/mt7603_main.c index 6026afe6..3f95971f 100644 --- a/mt7603_main.c +++ b/mt7603_main.c @@ -168,6 +168,15 @@ mt7603_config(struct ieee80211_hw *hw, u32 changed) mt7603_mac_set_timing(dev); } + if (changed & IEEE80211_CONF_CHANGE_MONITOR) { + if (!(hw->conf.flags & IEEE80211_CONF_MONITOR)) + dev->rxfilter |= MT_WF_RFCR_DROP_OTHER_UC; + else + dev->rxfilter &= ~MT_WF_RFCR_DROP_OTHER_UC; + + mt76_wr(dev, MT_WF_RFCR, dev->rxfilter); + } + mutex_unlock(&dev->mutex); return ret; @@ -198,8 +207,7 @@ mt7603_configure_filter(struct ieee80211_hw *hw, unsigned int changed_flags, MT_WF_RFCR_DROP_UNWANTED_CTL | MT_WF_RFCR_DROP_STBC_MULTI); - MT76_FILTER(OTHER_BSS, MT_WF_RFCR_DROP_OTHER_UC | - MT_WF_RFCR_DROP_OTHER_TIM | + MT76_FILTER(OTHER_BSS, MT_WF_RFCR_DROP_OTHER_TIM | MT_WF_RFCR_DROP_A3_MAC | MT_WF_RFCR_DROP_A3_BSSID);