diff mbox series

[5.1] mt76x02: do not enable RTS/CTS by default

Message ID 1552393927-26634-1-git-send-email-sgruszka@redhat.com (mailing list archive)
State Accepted
Commit 7dfc45e6282a7662279d168cc1219929456f8750
Delegated to: Kalle Valo
Headers show
Series [5.1] mt76x02: do not enable RTS/CTS by default | expand

Commit Message

Stanislaw Gruszka March 12, 2019, 12:32 p.m. UTC
My commit 26a7b5473191 ("mt76x02: set protection according to ht
operation element") enabled by default RTS/CTS protection for OFDM
and CCK traffic, because MT_TX_RTS_CFG_THRESH is configured to non
0xffff by initvals and .set_rts_threshold callback is not called by
mac80211 on initialization, only on user request or during
ieee80211_reconfig() (suspend/resuem or restart_hw).

Enabling RTS/CTS cause some problems when sending probe request
frames by hcxdumptool penetration tool, but I expect it can cause
other issues on different scenarios.
 
Restore previous setting of RTS/CTS being disabled by default for
OFDM/CCK by changing MT_TX_RTS_CFG_THRESH initvals to 0xffff.

Fixes: 26a7b5473191 ("mt76x02: set protection according to ht operation element")
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
---
 drivers/net/wireless/mediatek/mt76/mt76x0/initvals.h | 2 +-
 drivers/net/wireless/mediatek/mt76/mt76x2/init.c     | 2 +-
 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mac.c  | 1 -
 3 files changed, 2 insertions(+), 3 deletions(-)

Comments

Kalle Valo March 19, 2019, 3:38 p.m. UTC | #1
Stanislaw Gruszka <sgruszka@redhat.com> wrote:

> My commit 26a7b5473191 ("mt76x02: set protection according to ht
> operation element") enabled by default RTS/CTS protection for OFDM
> and CCK traffic, because MT_TX_RTS_CFG_THRESH is configured to non
> 0xffff by initvals and .set_rts_threshold callback is not called by
> mac80211 on initialization, only on user request or during
> ieee80211_reconfig() (suspend/resuem or restart_hw).
> 
> Enabling RTS/CTS cause some problems when sending probe request
> frames by hcxdumptool penetration tool, but I expect it can cause
> other issues on different scenarios.
>  
> Restore previous setting of RTS/CTS being disabled by default for
> OFDM/CCK by changing MT_TX_RTS_CFG_THRESH initvals to 0xffff.
> 
> Fixes: 26a7b5473191 ("mt76x02: set protection according to ht operation element")
> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>

Patch applied to wireless-drivers.git, thanks.

7dfc45e6282a mt76x02: do not enable RTS/CTS by default
diff mbox series

Patch

diff --git a/drivers/net/wireless/mediatek/mt76/mt76x0/initvals.h b/drivers/net/wireless/mediatek/mt76/mt76x0/initvals.h
index 0290ba5869a5..736f81752b5b 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x0/initvals.h
+++ b/drivers/net/wireless/mediatek/mt76/mt76x0/initvals.h
@@ -46,7 +46,7 @@ 
 	{ MT_MM20_PROT_CFG,		0x01742004 },
 	{ MT_MM40_PROT_CFG,		0x03f42084 },
 	{ MT_TXOP_CTRL_CFG,		0x0000583f },
-	{ MT_TX_RTS_CFG,		0x00092b20 },
+	{ MT_TX_RTS_CFG,		0x00ffff20 },
 	{ MT_EXP_ACK_TIME,		0x002400ca },
 	{ MT_TXOP_HLDR_ET,		0x00000002 },
 	{ MT_XIFS_TIME_CFG,		0x33a41010 },
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2/init.c b/drivers/net/wireless/mediatek/mt76/mt76x2/init.c
index f8534362e2c8..a30ef2c5a9db 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x2/init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x2/init.c
@@ -106,7 +106,7 @@  void mt76_write_mac_initvals(struct mt76x02_dev *dev)
 		{ MT_TX_SW_CFG1,		0x00010000 },
 		{ MT_TX_SW_CFG2,		0x00000000 },
 		{ MT_TXOP_CTRL_CFG,		0x0400583f },
-		{ MT_TX_RTS_CFG,		0x00100020 },
+		{ MT_TX_RTS_CFG,		0x00ffff20 },
 		{ MT_TX_TIMEOUT_CFG,		0x000a2290 },
 		{ MT_TX_RETRY_CFG,		0x47f01f0f },
 		{ MT_EXP_ACK_TIME,		0x002c00dc },
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2/usb_mac.c b/drivers/net/wireless/mediatek/mt76/mt76x2/usb_mac.c
index 5e84b4535cb1..3b82345756ea 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x2/usb_mac.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x2/usb_mac.c
@@ -93,7 +93,6 @@  int mt76x2u_mac_reset(struct mt76x02_dev *dev)
 	mt76_wr(dev, MT_TX_LINK_CFG, 0x1020);
 	mt76_wr(dev, MT_AUTO_RSP_CFG, 0x13);
 	mt76_wr(dev, MT_MAX_LEN_CFG, 0x2f00);
-	mt76_wr(dev, MT_TX_RTS_CFG, 0x92b20);
 
 	mt76_wr(dev, MT_WMM_AIFSN, 0x2273);
 	mt76_wr(dev, MT_WMM_CWMIN, 0x2344);