Re: [Outreachy kernel] [PATCH] staging: rtl8723bs: Remove useless led_blink_hdl()

From: Fabio M. De Francesco
Date: Wed Apr 14 2021 - 11:37:01 EST


On Wednesday, April 14, 2021 3:24:14 PM CEST Dan Carpenter wrote:
> On Wed, Apr 14, 2021 at 01:52:43PM +0200, Fabio M. De Francesco wrote:
> > Removed the led_blink_hdl() function (declaration and definition).
> > Declared dummy_function() in include/rtw_mlme_ext.h and defined it in
> > core/rtw_cmd.c. Changed the second parameter of GEN_MLME_EXT_HANDLER
> > macro to make use of dummy_function().
> >
> > Reported-by: Julia Lawall <julia.lawall@xxxxxxxx>
> > Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> > Signed-off-by: Fabio M. De Francesco <fmdefrancesco@xxxxxxxxx>
> > ---
> >
> > drivers/staging/rtl8723bs/core/rtw_cmd.c | 4 +++-
> > drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 9 ---------
> > drivers/staging/rtl8723bs/include/rtw_mlme_ext.h | 3 ++-
> > 3 files changed, 5 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/staging/rtl8723bs/core/rtw_cmd.c
> > b/drivers/staging/rtl8723bs/core/rtw_cmd.c index
> > 0297fbad7bce..7b6102a2bb2c 100644
> > --- a/drivers/staging/rtl8723bs/core/rtw_cmd.c
> > +++ b/drivers/staging/rtl8723bs/core/rtw_cmd.c
> > @@ -87,6 +87,8 @@ static struct _cmd_callback rtw_cmd_callback[] = {
> >
> > {GEN_CMD_CODE(_RunInThreadCMD), NULL},/*64*/
> >
> > };
> >
> > +u8 dummy_functioni(struct adapter *var0, u8 *var1) { return 0; }
> > +
> >
> > static struct cmd_hdl wlancmds[] = {
> >
> > GEN_DRV_CMD_HANDLER(0, NULL) /*0*/
> > GEN_DRV_CMD_HANDLER(0, NULL)
> >
> > @@ -150,7 +152,7 @@ static struct cmd_hdl wlancmds[] = {
> >
> > GEN_MLME_EXT_HANDLER(0, h2c_msg_hdl) /*58*/
> > GEN_MLME_EXT_HANDLER(sizeof(struct SetChannelPlan_param),
> > set_chplan_hdl) /*59*/>
> > - GEN_MLME_EXT_HANDLER(sizeof(struct LedBlink_param),
led_blink_hdl)
> > /*60*/ + GEN_MLME_EXT_HANDLER(sizeof(struct LedBlink_param),
> > dummy_function) /*60*/
> No, no. Don't create a dummy function. Do it like so:
>
> GEN_DRV_CMD_HANDLER(0, NULL) /* 60 */
>
> regards,
> dan carpenter
>
I'm replying late because I didn't want to blindly use that solution; I
mean that I wanted to understand why I can simply put 0 and NULL into that
macro. I had seen it made in other lines that initialize wlancmds[]
elements, but I wasn't sure if it could work for the specific slot where
the pointer to led_blinck_hdl was supposed to be placed.

Now I think that it is why, in this case, cmd_hdl would be set to NULL by
the call to wlancmds[pcmd->cmdcode].h2cfuns and the cmd_hdl() function
wouldn't be called because cmd_hdl is tested within an "if" statement.

Therefore a simple GEN_DRV_CMD_HANDLER(0, NULL) at slot number would be the
simplest and most obvious solution.

Is the above argument sound?

Thanks for your kind help,

Fabio