diff mbox series

[v1,1/3] wifi: rtl8xxxu: Use macid in rtl8xxxu_update_rate_mask()

Message ID 20250219175228.850583-2-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 769f326322e7 ("wifi: rtl8xxxu: Add parameter macid to
update_rate_mask").

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

Comments

Ping-Ke Shih Feb. 20, 2025, 5:58 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 769f326322e7 ("wifi: rtl8xxxu: Add parameter macid to
> update_rate_mask").
> 
> Signed-off-by: Ezra Buehler <ezra.buehler@husqvarnagroup.com>
> ---
>  drivers/net/wireless/realtek/rtl8xxxu/core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/realtek/rtl8xxxu/core.c
> b/drivers/net/wireless/realtek/rtl8xxxu/core.c
> index 569856ca677f..cbd9efd22e3f 100644
> --- a/drivers/net/wireless/realtek/rtl8xxxu/core.c
> +++ b/drivers/net/wireless/realtek/rtl8xxxu/core.c
> @@ -4606,7 +4606,7 @@ void rtl8xxxu_update_rate_mask(struct rtl8xxxu_priv *priv,
>         h2c.ramask.mask_lo = cpu_to_le16(ramask & 0xffff);
>         h2c.ramask.mask_hi = cpu_to_le16(ramask >> 16);
> 
> -       h2c.ramask.arg = 0x80;
> +       h2c.ramask.arg = macid | 0x80;

Vendor driver fills macid and sgi as below: 

		arg = mac_id&0x1f;//MACID
		
		arg |= BIT(7);
		
		if (shortGIrate==_TRUE)
			arg |= BIT(5);

So, I suggest to define a mask and use u8_encode_bit() for macid.
diff mbox series

Patch

diff --git a/drivers/net/wireless/realtek/rtl8xxxu/core.c b/drivers/net/wireless/realtek/rtl8xxxu/core.c
index 569856ca677f..cbd9efd22e3f 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/core.c
@@ -4606,7 +4606,7 @@  void rtl8xxxu_update_rate_mask(struct rtl8xxxu_priv *priv,
 	h2c.ramask.mask_lo = cpu_to_le16(ramask & 0xffff);
 	h2c.ramask.mask_hi = cpu_to_le16(ramask >> 16);
 
-	h2c.ramask.arg = 0x80;
+	h2c.ramask.arg = macid | 0x80;
 	if (sgi)
 		h2c.ramask.arg |= 0x20;