public inbox for linux-staging@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH] staging: rtl8723bs: replace magic numbers with named constants
@ 2026-04-11  5:28 Adith-Joshua
  2026-04-11  8:07 ` Dan Carpenter
  2026-04-11 17:15 ` Luka Gejak
  0 siblings, 2 replies; 4+ messages in thread
From: Adith-Joshua @ 2026-04-11  5:28 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, linux-kernel, straube.linux, Adith-Joshua

Replace hardcoded magic numbers in rtl8723b_InitBeaconParameters()
with descriptive macros to improve readability and maintainability.

No functional changes.

Signed-off-by: Adith-Joshua <adithalex29@gmail.com>
---
 .../staging/rtl8723bs/hal/rtl8723b_hal_init.c   | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
index 8d259820f103..41f561120af5 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
@@ -864,6 +864,18 @@ void rtl8723b_read_chip_version(struct adapter *padapter)
 	ReadChipVersion8723B(padapter);
 }
 
+#define TBTT_PROHIBIT_HOLD_TIME_MS   0x64
+#define TBTT_PROHIBIT_SETUP_TIME_MS  0x04
+
+#define TBTT_PROHIBIT_VALUE \
+	((TBTT_PROHIBIT_HOLD_TIME_MS << 8) | TBTT_PROHIBIT_SETUP_TIME_MS)
+
+#define BCNTCFG_AIFS 0x66
+#define BCNTCFG_CW   0x0F
+
+#define BCNTCFG_VALUE \
+	((BCNTCFG_AIFS << 8) | BCNTCFG_CW)
+
 void rtl8723b_InitBeaconParameters(struct adapter *padapter)
 {
 	struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
@@ -878,8 +890,7 @@ void rtl8723b_InitBeaconParameters(struct adapter *padapter)
 
 	rtw_write16(padapter, REG_BCN_CTRL, val16);
 
-	/*  TODO: Remove these magic number */
-	rtw_write16(padapter, REG_TBTT_PROHIBIT, 0x6404);/*  ms */
+	rtw_write16(padapter, REG_TBTT_PROHIBIT, TBTT_PROHIBIT_VALUE);/*  ms */
 	/*  Firmware will control REG_DRVERLYINT when power saving is enable, */
 	/*  so don't set this register on STA mode. */
 	if (check_fwstate(&padapter->mlmepriv, WIFI_STATION_STATE) == false)
@@ -888,7 +899,7 @@ void rtl8723b_InitBeaconParameters(struct adapter *padapter)
 
 	/*  Suggested by designer timchen. Change beacon AIFS to the largest number */
 	/*  because test chip does not contension before sending beacon. by tynli. 2009.11.03 */
-	rtw_write16(padapter, REG_BCNTCFG, 0x660F);
+	rtw_write16(padapter, REG_BCNTCFG, BCNTCFG_VALUE);
 
 	pHalData->RegBcnCtrlVal = rtw_read8(padapter, REG_BCN_CTRL);
 	pHalData->RegTxPause = rtw_read8(padapter, REG_TXPAUSE);
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] staging: rtl8723bs: replace magic numbers with named constants
  2026-04-11  5:28 [PATCH] staging: rtl8723bs: replace magic numbers with named constants Adith-Joshua
@ 2026-04-11  8:07 ` Dan Carpenter
  2026-04-11 17:20   ` Luka Gejak
  2026-04-11 17:15 ` Luka Gejak
  1 sibling, 1 reply; 4+ messages in thread
From: Dan Carpenter @ 2026-04-11  8:07 UTC (permalink / raw)
  To: Adith-Joshua; +Cc: gregkh, linux-staging, linux-kernel, straube.linux

On Sat, Apr 11, 2026 at 10:58:17AM +0530, Adith-Joshua wrote:
> Replace hardcoded magic numbers in rtl8723b_InitBeaconParameters()
> with descriptive macros to improve readability and maintainability.
> 
> No functional changes.
> 
> Signed-off-by: Adith-Joshua <adithalex29@gmail.com>
> ---

Where did you find these numbers?  Presumably there is a spec
somewhere?  What does BCNTCFG_CW mean?  This really looks like an AI
patch...

regards,
dan carpenter


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] staging: rtl8723bs: replace magic numbers with named constants
  2026-04-11  5:28 [PATCH] staging: rtl8723bs: replace magic numbers with named constants Adith-Joshua
  2026-04-11  8:07 ` Dan Carpenter
@ 2026-04-11 17:15 ` Luka Gejak
  1 sibling, 0 replies; 4+ messages in thread
From: Luka Gejak @ 2026-04-11 17:15 UTC (permalink / raw)
  To: Adith-Joshua, gregkh; +Cc: linux-staging, linux-kernel, straube.linux

On Sat Apr 11, 2026 at 7:28 AM CEST, Adith-Joshua wrote:
> Replace hardcoded magic numbers in rtl8723b_InitBeaconParameters()
> with descriptive macros to improve readability and maintainability.
>
> No functional changes.
>
> Signed-off-by: Adith-Joshua <adithalex29@gmail.com>
> ---
>  .../staging/rtl8723bs/hal/rtl8723b_hal_init.c   | 17 ++++++++++++++---
>  1 file changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
> index 8d259820f103..41f561120af5 100644
> --- a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
> +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
> @@ -864,6 +864,18 @@ void rtl8723b_read_chip_version(struct adapter *padapter)
>  	ReadChipVersion8723B(padapter);
>  }
>  
> +#define TBTT_PROHIBIT_HOLD_TIME_MS   0x64
> +#define TBTT_PROHIBIT_SETUP_TIME_MS  0x04

Please drop the _MS suffix here. While the legacy comment says "ms", 
802.11 beacon offsets are almost universally measured in time units 
(TU, which are 1024 microseconds). 0x64 is 100 TU. Baking "MS" into the 
macro name based on a loose comment introduces false precision. Please 
fix the field mappings and send a v2. I highly recommend taking a look 
at how rtw88 handles these exact same registers 
(REG_BCNTCFG and REG_TBTT_PROHIBIT) and trying to align your macros with
their structure where possible.

> +
> +#define TBTT_PROHIBIT_VALUE \
> +	((TBTT_PROHIBIT_HOLD_TIME_MS << 8) | TBTT_PROHIBIT_SETUP_TIME_MS)
> +
> +#define BCNTCFG_AIFS 0x66
> +#define BCNTCFG_CW   0x0F
> +
> +#define BCNTCFG_VALUE \
> +	((BCNTCFG_AIFS << 8) | BCNTCFG_CW)

This is completely backwards. If you cross-reference this with the 
primary upstream rtw88 driver (drivers/net/wireless/realtek/rtw88/reg.h)
, aifs is actually the lower 8 bits (GENMASK(7, 0)) and cw is in the 
upper bits. So 0x0F is the aifs (a typical max value of 15), and 0x66 
represents the cwmax and cwmin values. While your macro happens to 
evaluate to the original 0x660F magic number, the field names are 
swapped and would actively mislead future developers.

> +
>  void rtl8723b_InitBeaconParameters(struct adapter *padapter)
>  {
>  	struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
> @@ -878,8 +890,7 @@ void rtl8723b_InitBeaconParameters(struct adapter *padapter)
>  
>  	rtw_write16(padapter, REG_BCN_CTRL, val16);
>  
> -	/*  TODO: Remove these magic number */
> -	rtw_write16(padapter, REG_TBTT_PROHIBIT, 0x6404);/*  ms */
> +	rtw_write16(padapter, REG_TBTT_PROHIBIT, TBTT_PROHIBIT_VALUE);/*  ms */
>  	/*  Firmware will control REG_DRVERLYINT when power saving is enable, */
>  	/*  so don't set this register on STA mode. */
>  	if (check_fwstate(&padapter->mlmepriv, WIFI_STATION_STATE) == false)
> @@ -888,7 +899,7 @@ void rtl8723b_InitBeaconParameters(struct adapter *padapter)
>  
>  	/*  Suggested by designer timchen. Change beacon AIFS to the largest number */
>  	/*  because test chip does not contension before sending beacon. by tynli. 2009.11.03 */
> -	rtw_write16(padapter, REG_BCNTCFG, 0x660F);
> +	rtw_write16(padapter, REG_BCNTCFG, BCNTCFG_VALUE);
>  
>  	pHalData->RegBcnCtrlVal = rtw_read8(padapter, REG_BCN_CTRL);
>  	pHalData->RegTxPause = rtw_read8(padapter, REG_TXPAUSE);

Best regards,
Luka Gejak

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] staging: rtl8723bs: replace magic numbers with named constants
  2026-04-11  8:07 ` Dan Carpenter
@ 2026-04-11 17:20   ` Luka Gejak
  0 siblings, 0 replies; 4+ messages in thread
From: Luka Gejak @ 2026-04-11 17:20 UTC (permalink / raw)
  To: Dan Carpenter, Adith-Joshua
  Cc: gregkh, linux-staging, linux-kernel, straube.linux

On Sat Apr 11, 2026 at 10:07 AM CEST, Dan Carpenter wrote:
> On Sat, Apr 11, 2026 at 10:58:17AM +0530, Adith-Joshua wrote:
>> Replace hardcoded magic numbers in rtl8723b_InitBeaconParameters()
>> with descriptive macros to improve readability and maintainability.
>> 
>> No functional changes.
>> 
>> Signed-off-by: Adith-Joshua <adithalex29@gmail.com>
>> ---
>
> Where did you find these numbers?  Presumably there is a spec
> somewhere?  What does BCNTCFG_CW mean?  This really looks like an AI
> patch...
>
> regards,
> dan carpenter

Hi Dan,
I believe you are right about this patch being written by AI. 
As I noted in my other reply, if you cross-reference these registers 
with the primary upstream driver 
(drivers/net/wireless/realtek/rtw88/reg.h), the field mappings 
introduced in this patch are actually backwards. It looks like an AI saw
the 0x660F magic number and hallucinated that 0x66 was the aifs and 0x0F
was the cw, when in reality aifs occupies the lower 8 bits. It also 
hallucinates an _MS suffix based on a loose code comment, completely 
ignoring that 802.11 beacon offsets use time units (TU).
Best regards,
Luka Gejak

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-04-11 17:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-11  5:28 [PATCH] staging: rtl8723bs: replace magic numbers with named constants Adith-Joshua
2026-04-11  8:07 ` Dan Carpenter
2026-04-11 17:20   ` Luka Gejak
2026-04-11 17:15 ` Luka Gejak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox