Re: [PATCH] staging: rtl8723bs: core: rtw_mlme_ext.c: move the declaration and initialization of 'evt_seq' inside ifdef macro

From: Fabio Aiuto
Date: Sat May 29 2021 - 06:01:45 EST


Hi Yu,

On Sat, May 29, 2021 at 05:29:48PM +0800, Yu Kuai wrote:
> 'evt_seq' is only used if 'CHECK_ENENT_SEQ' is defined, however,
> it's declared and initialized even if 'CHECK_ENENT_SEQ' is not
> defined. Thus gcc will report following warning if
> 'CHECK_ENENT_SEQ' is not defined:

the macro is mispelled in the commit description

>
> drivers/staging/rtl8723bs/core/rtw_mlme_ext.c:6009:15: warning:
> variable ‘evt_seq’ set but not used [-Wunused-but-set-variable]
> 6009 | u8 evt_code, evt_seq;
>
> Thus move the declaration and initialization of 'evt_seq' inside
> ifdef macro to fix it.
>
> Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx>
> ---
> drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
> index 97b3c2965770..e883371cc96d 100644
> --- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
> +++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
> @@ -6006,7 +6006,10 @@ static struct fwevent wlanevents[] = {
>
> u8 mlme_evt_hdl(struct adapter *padapter, unsigned char *pbuf)
> {
> - u8 evt_code, evt_seq;
> +#ifdef CHECK_EVENT_SEQ
> + u8 evt_seq;
> +#endif
> + u8 evt_code;
> u16 evt_sz;
> uint *peventbuf;
> void (*event_callback)(struct adapter *dev, u8 *pbuf);
> @@ -6017,18 +6020,17 @@ u8 mlme_evt_hdl(struct adapter *padapter, unsigned char *pbuf)
>
> peventbuf = (uint *)pbuf;
> evt_sz = (u16)(*peventbuf&0xffff);
> - evt_seq = (u8)((*peventbuf>>24)&0x7f);
> evt_code = (u8)((*peventbuf>>16)&0xff);
>
> -
> - #ifdef CHECK_EVENT_SEQ
> +#ifdef CHECK_EVENT_SEQ
> /* checking event sequence... */
> + evt_seq = (u8)((*peventbuf>>24)&0x7f);
> if (evt_seq != (atomic_read(&pevt_priv->event_seq) & 0x7f)) {
> pevt_priv->event_seq = (evt_seq+1)&0x7f;
>
> goto _abort_event_;
> }
> - #endif
> +#endif
>
> /* checking if event code is valid */
> if (evt_code >= MAX_C2HEVT)
> --
> 2.25.4
>
>

this conditional block seems to be dead code, for
the symbolic constant CHECK_EVENT_SEQ is defined nowhere in
the code.

/staging$ grep -r CHECK_EVENT_SEQ .
./staging/rtl8723bs/core/rtw_mlme_ext.c: #ifdef CHECK_EVENT_SEQ

so the variable can be safely removed together with
the dead code block.

thank you,

fabio