summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/mediatek/mt76/mt76x0/main.c
diff options
context:
space:
mode:
authorLorenzo Bianconi <lorenzo.bianconi@redhat.com>2018-09-28 14:38:58 +0300
committerFelix Fietkau <nbd@nbd.name>2018-10-01 13:34:33 +0300
commita31821abe0af09a01a6e3c7f3edbf03e2632cdb1 (patch)
tree3da9e90c8c3b35bac9b2c30c74607554d98f85a2 /drivers/net/wireless/mediatek/mt76/mt76x0/main.c
parent512bd4b1c3657cdced09859a1c341fe6b45d4bcb (diff)
downloadlinux-a31821abe0af09a01a6e3c7f3edbf03e2632cdb1.tar.xz
mt76x0: init rx filter in mt76x0_init_hardware
Initialize rxfilter mask at bootstrap an not at mac start. This is a preliminary patch to share mt76x2_mac_start routine between mt76x2e and mt76x0e drivers Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mt76x0/main.c')
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt76x0/main.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x0/main.c b/drivers/net/wireless/mediatek/mt76/mt76x0/main.c
index 66e12802953c..e0fc691ce78e 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x0/main.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x0/main.c
@@ -73,6 +73,15 @@ static int mt76x0_config(struct ieee80211_hw *hw, u32 changed)
mt76x0_phy_set_txpower(dev);
}
+ if (changed & IEEE80211_CONF_CHANGE_MONITOR) {
+ if (!(hw->conf.flags & IEEE80211_CONF_MONITOR))
+ dev->mt76.rxfilter |= MT_RX_FILTR_CFG_PROMISC;
+ else
+ dev->mt76.rxfilter &= ~MT_RX_FILTR_CFG_PROMISC;
+
+ mt76_wr(dev, MT_RX_FILTR_CFG, dev->mt76.rxfilter);
+ }
+
mutex_unlock(&dev->mt76.mutex);
return ret;