It needs to be always enabled for 76x2 and conditionally enabled/disabled
for 76x0. Since mt76x2_mac_stop clears this bit, ensure that it is enabled
in mt76x02_edcca_init

Signed-off-by: Felix Fietkau <[email protected]>
---
 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_mac.c 
b/drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
index 82b178fa83bb..91ff6598eccf 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
@@ -905,14 +905,14 @@ void mt76x02_edcca_init(struct mt76x02_dev *dev, bool 
enable)
                mt76_set(dev, MT_TXOP_CTRL_CFG, MT_TXOP_ED_CCA_EN);
                mt76_rmw(dev, MT_BBP(AGC, 2), GENMASK(15, 0),
                         ed_th << 8 | ed_th);
-               if (!is_mt76x2(dev))
-                       mt76_set(dev, MT_TXOP_HLDR_ET,
-                                MT_TXOP_HLDR_TX40M_BLK_EN);
+               mt76_set(dev, MT_TXOP_HLDR_ET, MT_TXOP_HLDR_TX40M_BLK_EN);
        } else {
                mt76_set(dev, MT_TX_LINK_CFG, MT_TX_CFACK_EN);
                mt76_clear(dev, MT_TXOP_CTRL_CFG, MT_TXOP_ED_CCA_EN);
                if (is_mt76x2(dev)) {
                        mt76_wr(dev, MT_BBP(AGC, 2), 0x00007070);
+                       mt76_set(dev, MT_TXOP_HLDR_ET,
+                                MT_TXOP_HLDR_TX40M_BLK_EN);
                } else {
                        mt76_wr(dev, MT_BBP(AGC, 2), 0x003a6464);
                        mt76_clear(dev, MT_TXOP_HLDR_ET,
-- 
2.17.0

Reply via email to