diff mbox series

mt76: address4 null frame using fixed rate to trigger WDS

Message ID 20220706090901.88929-1-lian.chen@mediatek.com (mailing list archive)
State Changes Requested
Delegated to: Felix Fietkau
Headers show
Series mt76: address4 null frame using fixed rate to trigger WDS | expand

Commit Message

Lian Chen July 6, 2022, 9:09 a.m. UTC
From: "lian.chen" <lian.chen@mediatek.com>

WDS function need address4 package to trigger the AP create wlan0.sta.
while the address4 null frame is sent at a high rate.
the AP can not receive it.
so, using fixed rate to trigger WDS flow.

Signed-off-by: lian.chen <lian.chen@mediatek.com>
---
 drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Felix Fietkau July 6, 2022, 1:01 p.m. UTC | #1
On 06.07.22 11:09, Lian Chen wrote:
> From: "lian.chen" <lian.chen@mediatek.com>
> 
> WDS function need address4 package to trigger the AP create wlan0.sta.
> while the address4 null frame is sent at a high rate.
> the AP can not receive it.
> so, using fixed rate to trigger WDS flow.
> 
> Signed-off-by: lian.chen <lian.chen@mediatek.com>
I think it might make more sense to set IEEE80211_TX_CTL_USE_MINRATE in 
the mac80211 function ieee80211_send_4addr_nullfunc().

- Felix
Kalle Valo July 26, 2022, 1:06 p.m. UTC | #2
Lian Chen <lian.chen@mediatek.com> writes:

> From: "lian.chen" <lian.chen@mediatek.com>

Please don't use dot in your name and capitalise it as well. So this
should be:

From: "Lian Chen" <lian.chen@mediatek.com>
diff mbox series

Patch

diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c b/drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
index 3ab0dcd..d83ed59 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
@@ -393,7 +393,8 @@  mt76_connac2_mac_write_txwi_80211(struct mt76_dev *dev, __le32 *txwi,
 	}
 
 	if (!ieee80211_is_data(fc) || multicast ||
-	    info->flags & IEEE80211_TX_CTL_USE_MINRATE)
+	    info->flags & IEEE80211_TX_CTL_USE_MINRATE ||
+	    (ieee80211_is_nullfunc(fc) && ieee80211_has_a4(fc)))
 		val |= MT_TXD2_FIX_RATE;
 
 	txwi[2] |= cpu_to_le32(val);