Re: [PATCH v2] staging: rtl8723bs: fix type issue in DYNAMIC_BB_DYNAMIC_TXPWR

From: Nikolay Kulikov

Date: Mon May 11 2026 - 02:26:06 EST


On Mon, May 11, 2026 at 06:40:29AM +0200, Michael Steinmötzger wrote:
> Add explicit cast to fix -Werror=overflow warning for BIT(2) usage
> in DYNAMIC_BB_DYNAMIC_TXPWR
>
> Suggested-by: Nikolay Kulikov <nikolayof23@xxxxxxxxx>
> Signed-off-by: Michael Steinmötzger <m.steinmoetzger@xxxxxxxxx>

This does not apply to staging-next.


It's better to do this in a series of two patches, where in the first,
replace BIT2 with BIT(2) and add a type cast, like here:

> diff --git a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
> index d837738b9f40..943e199ede82 100644
> --- a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
> +++ b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
> @@ -1476,13 +1476,13 @@ void update_IOT_info(struct adapter *padapter)
> pmlmeinfo->turboMode_cts2self = 0;
> pmlmeinfo->turboMode_rtsen = 1;
> /* disable high power */
> - Switch_DM_Func(padapter, (~DYNAMIC_BB_DYNAMIC_TXPWR), false);
> + Switch_DM_Func(padapter, ((u32)(~DYNAMIC_BB_DYNAMIC_TXPWR)), false);
> break;
> case HT_IOT_PEER_REALTEK:
> /* rtw_write16(padapter, 0x4cc, 0xffff); */
> /* rtw_write16(padapter, 0x546, 0x01c0); */
> /* disable high power */
> - Switch_DM_Func(padapter, (~DYNAMIC_BB_DYNAMIC_TXPWR), false);
> + Switch_DM_Func(padapter, ((u32)(~DYNAMIC_BB_DYNAMIC_TXPWR)), false);
> break;
> default:
> pmlmeinfo->turboMode_cts2self = 0;
> diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
> index a4770f5eb75c..f832d77d7156 100644
> --- a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
> +++ b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
> @@ -28,7 +28,7 @@
> /* ====== ODM_ABILITY_E ======== */
> /* BB ODM section BIT 0-15 */
> #define DYNAMIC_BB_DIG BIT(0) /* ODM_BB_DIG */
> -#define DYNAMIC_BB_DYNAMIC_TXPWR BIT2 /* ODM_BB_DYNAMIC_TXPWR */
> +#define DYNAMIC_BB_DYNAMIC_TXPWR BIT(2) /* ODM_BB_DYNAMIC_TXPWR */
> #define DYNAMIC_BB_ANT_DIV BIT(6) /* ODM_BB_ANT_DIV */
>
> /* RF ODM section BIT 24-31 */
> --
> 2.54.0
>

And in the second, remove the BIT2 macro and all the othere, like in v1:
> diff --git a/drivers/staging/rtl8723bs/include/osdep_service.h b/drivers/staging/rtl8723bs/include/osdep_service.h
> index bd72edcb4259..2f5011a8210c 100644
> --- a/drivers/staging/rtl8723bs/include/osdep_service.h
> +++ b/drivers/staging/rtl8723bs/include/osdep_service.h
> @@ -14,7 +14,6 @@
>
> #include <osdep_service_linux.h>
>
> -#define BIT2 0x00000004
>
> extern int RTW_STATUS_CODE(int error_code);
>


Thanks,
Nikolay