mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
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>
This commit is contained in:
parent
512bd4b1c3
commit
a31821abe0
@ -271,15 +271,7 @@ int mt76x0_mac_start(struct mt76x0_dev *dev)
|
||||
if (!mt76x02_wait_for_wpdma(&dev->mt76, 200000))
|
||||
return -ETIMEDOUT;
|
||||
|
||||
dev->mt76.rxfilter = MT_RX_FILTR_CFG_CRC_ERR |
|
||||
MT_RX_FILTR_CFG_PHY_ERR | MT_RX_FILTR_CFG_PROMISC |
|
||||
MT_RX_FILTR_CFG_VER_ERR | MT_RX_FILTR_CFG_DUP |
|
||||
MT_RX_FILTR_CFG_CFACK | MT_RX_FILTR_CFG_CFEND |
|
||||
MT_RX_FILTR_CFG_ACK | MT_RX_FILTR_CFG_CTS |
|
||||
MT_RX_FILTR_CFG_RTS | MT_RX_FILTR_CFG_PSPOLL |
|
||||
MT_RX_FILTR_CFG_BA | MT_RX_FILTR_CFG_CTRL_RSV;
|
||||
mt76_wr(dev, MT_RX_FILTR_CFG, dev->mt76.rxfilter);
|
||||
|
||||
mt76_wr(dev, MT_MAC_SYS_CTRL,
|
||||
MT_MAC_SYS_CTRL_ENABLE_TX | MT_MAC_SYS_CTRL_ENABLE_RX);
|
||||
|
||||
@ -370,6 +362,8 @@ int mt76x0_init_hardware(struct mt76x0_dev *dev)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
dev->mt76.rxfilter = mt76_rr(dev, MT_RX_FILTR_CFG);
|
||||
|
||||
ret = mt76x0_init_wcid_mem(dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user