Use set_rts_threshold calback to enable/disable threshold only for
legacy traffic. RTS/CTS threshold for HT TXOP make make no sense
to me since used protection (RTS/CTS , CTS-to-self or none)
should be determined by HT capabilities and applied to any HT
frames.

Signed-off-by: Stanislaw Gruszka <sgrus...@redhat.com>
---
 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c  | 16 +---------------
 drivers/net/wireless/mediatek/mt76/mt76x02_mac.h  |  2 +-
 drivers/net/wireless/mediatek/mt76/mt76x02_util.c |  2 +-
 3 files changed, 3 insertions(+), 17 deletions(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_mac.c 
b/drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
index 59b336e34cb5..567a7ab47fab 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
@@ -737,7 +737,7 @@ void mt76x02_tx_complete_skb(struct mt76_dev *mdev, struct 
mt76_queue *q,
 }
 EXPORT_SYMBOL_GPL(mt76x02_tx_complete_skb);
 
-void mt76x02_mac_set_tx_protection(struct mt76x02_dev *dev, u32 val)
+void mt76x02_mac_set_rts_thresh(struct mt76x02_dev *dev, u32 val)
 {
        u32 data = 0;
 
@@ -751,20 +751,6 @@ void mt76x02_mac_set_tx_protection(struct mt76x02_dev 
*dev, u32 val)
                 MT_PROT_CFG_CTRL | MT_PROT_CFG_RTS_THRESH, data);
        mt76_rmw(dev, MT_OFDM_PROT_CFG,
                 MT_PROT_CFG_CTRL | MT_PROT_CFG_RTS_THRESH, data);
-       mt76_rmw(dev, MT_MM20_PROT_CFG,
-                MT_PROT_CFG_CTRL | MT_PROT_CFG_RTS_THRESH, data);
-       mt76_rmw(dev, MT_MM40_PROT_CFG,
-                MT_PROT_CFG_CTRL | MT_PROT_CFG_RTS_THRESH, data);
-       mt76_rmw(dev, MT_GF20_PROT_CFG,
-                MT_PROT_CFG_CTRL | MT_PROT_CFG_RTS_THRESH, data);
-       mt76_rmw(dev, MT_GF40_PROT_CFG,
-                MT_PROT_CFG_CTRL | MT_PROT_CFG_RTS_THRESH, data);
-       mt76_rmw(dev, MT_TX_PROT_CFG6,
-                MT_PROT_CFG_CTRL | MT_PROT_CFG_RTS_THRESH, data);
-       mt76_rmw(dev, MT_TX_PROT_CFG7,
-                MT_PROT_CFG_CTRL | MT_PROT_CFG_RTS_THRESH, data);
-       mt76_rmw(dev, MT_TX_PROT_CFG8,
-                MT_PROT_CFG_CTRL | MT_PROT_CFG_RTS_THRESH, data);
 }
 
 void mt76x02_update_channel(struct mt76_dev *mdev)
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_mac.h 
b/drivers/net/wireless/mediatek/mt76/mt76x02_mac.h
index b076c4305585..34da8c600db8 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x02_mac.h
+++ b/drivers/net/wireless/mediatek/mt76/mt76x02_mac.h
@@ -197,7 +197,7 @@ void mt76x02_send_tx_status(struct mt76x02_dev *dev,
                            struct mt76x02_tx_status *stat, u8 *update);
 int mt76x02_mac_process_rx(struct mt76x02_dev *dev, struct sk_buff *skb,
                           void *rxi);
-void mt76x02_mac_set_tx_protection(struct mt76x02_dev *dev, u32 val);
+void mt76x02_mac_set_rts_thresh(struct mt76x02_dev *dev, u32 val);
 void mt76x02_mac_setaddr(struct mt76x02_dev *dev, u8 *addr);
 void mt76x02_mac_write_txwi(struct mt76x02_dev *dev, struct mt76x02_txwi *txwi,
                            struct sk_buff *skb, struct mt76_wcid *wcid,
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_util.c 
b/drivers/net/wireless/mediatek/mt76/mt76x02_util.c
index e624397b3d8b..fda67b0923a6 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x02_util.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x02_util.c
@@ -484,7 +484,7 @@ int mt76x02_set_rts_threshold(struct ieee80211_hw *hw, u32 
val)
                return -EINVAL;
 
        mutex_lock(&dev->mutex);
-       mt76x02_mac_set_tx_protection(dev, val);
+       mt76x02_mac_set_rts_thresh(dev, val);
        mutex_unlock(&dev->mutex);
 
        return 0;
-- 
1.9.3

Reply via email to