diff mbox series

[v1,2/3] wifi: rtl8xxxu: Use macid in rtl8xxxu_fill_txdesc_v1()

Message ID 20250219175228.850583-3-ezra@easyb.ch (mailing list archive)
State Changes Requested
Delegated to: Ping-Ke Shih
Headers show
Series wifi: rtl8xxxu: AP mode fixes (for gen1 devices) | expand

Checks

Context Check Description
jmberg/tree_selection success Not a local patch

Commit Message

Ezra Buehler Feb. 19, 2025, 5:52 p.m. UTC
From: Ezra Buehler <ezra.buehler@husqvarnagroup.com>

This is needed in order for AP mode to work correctly on gen1 devices
like the RTL8192CU.

For more information, see the corresponding change for gen2 devices,
commit 9aa45598d054 ("wifi: rtl8xxxu: Put the macid in txdesc").

Signed-off-by: Ezra Buehler <ezra.buehler@husqvarnagroup.com>
---
 drivers/net/wireless/realtek/rtl8xxxu/core.c     | 2 ++
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 1 +
 2 files changed, 3 insertions(+)

Comments

Ping-Ke Shih Feb. 20, 2025, 6 a.m. UTC | #1
Ezra Buehler <ezra@easyb.ch> wrote:
> From: Ezra Buehler <ezra.buehler@husqvarnagroup.com>
> 
> This is needed in order for AP mode to work correctly on gen1 devices
> like the RTL8192CU.
> 
> For more information, see the corresponding change for gen2 devices,
> commit 9aa45598d054 ("wifi: rtl8xxxu: Put the macid in txdesc").
> 
> Signed-off-by: Ezra Buehler <ezra.buehler@husqvarnagroup.com>
> ---
>  drivers/net/wireless/realtek/rtl8xxxu/core.c     | 2 ++
>  drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 1 +
>  2 files changed, 3 insertions(+)
> 
> diff --git a/drivers/net/wireless/realtek/rtl8xxxu/core.c
> b/drivers/net/wireless/realtek/rtl8xxxu/core.c
> index cbd9efd22e3f..2fa22d3145a4 100644
> --- a/drivers/net/wireless/realtek/rtl8xxxu/core.c
> +++ b/drivers/net/wireless/realtek/rtl8xxxu/core.c
> @@ -5302,6 +5302,8 @@ rtl8xxxu_fill_txdesc_v1(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr,
>                 dev_info(dev, "%s: TX rate: %d, pkt size %u\n",
>                          __func__, rate, le16_to_cpu(tx_desc->pkt_size));
> 
> +       tx_desc->txdw1 |= cpu_to_le32(macid & TXDESC32_MACID_MASK);
> +

tx_desc->txdw1 |= le32_encode_bits(macid, TXDESC32_MACID_MASK);
diff mbox series

Patch

diff --git a/drivers/net/wireless/realtek/rtl8xxxu/core.c b/drivers/net/wireless/realtek/rtl8xxxu/core.c
index cbd9efd22e3f..2fa22d3145a4 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/core.c
@@ -5302,6 +5302,8 @@  rtl8xxxu_fill_txdesc_v1(struct ieee80211_hw *hw, struct ieee80211_hdr *hdr,
 		dev_info(dev, "%s: TX rate: %d, pkt size %u\n",
 			 __func__, rate, le16_to_cpu(tx_desc->pkt_size));
 
+	tx_desc->txdw1 |= cpu_to_le32(macid & TXDESC32_MACID_MASK);
+
 	seq_number = IEEE80211_SEQ_TO_SN(le16_to_cpu(hdr->seq_ctrl));
 
 	tx_desc->txdw5 = cpu_to_le32(rate);
diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
index f42463e595cc..dde578f65d69 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
@@ -489,6 +489,7 @@  struct rtl8xxxu_txdesc40 {
 #define TXDESC_PKT_OFFSET_SZ		0
 #define TXDESC32_AGG_ENABLE		BIT(5)
 #define TXDESC32_AGG_BREAK		BIT(6)
+#define TXDESC32_MACID_MASK		GENMASK(4, 0)
 #define TXDESC40_MACID_SHIFT		0
 #define TXDESC40_MACID_MASK		0x00f0
 #define TXDESC_QUEUE_SHIFT		8