Re: [PATCH] habanalabs: added return value check for hl_fw_dynamic_send_clear_cmd()

From: Oded Gabbay
Date: Thu Nov 17 2022 - 03:46:37 EST


On Wed, Nov 16, 2022 at 5:17 PM Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>
> On Wed, Nov 16, 2022 at 02:41:25PM +0100, Marco Pagani wrote:
> > The clang-analyzer reported a warning: "Value stored to 'rc' is never
> > read".
> >
> > The return value check for the first hl_fw_dynamic_send_clear_cmd() call
> > in hl_fw_dynamic_send_protocol_cmd() appears to be missing.
> >
> > Signed-off-by: Marco Pagani <marpagan@xxxxxxxxxx>
> > ---
> > drivers/misc/habanalabs/common/firmware_if.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/misc/habanalabs/common/firmware_if.c b/drivers/misc/habanalabs/common/firmware_if.c
> > index 2de6a9bd564d..311942108dbc 100644
> > --- a/drivers/misc/habanalabs/common/firmware_if.c
> > +++ b/drivers/misc/habanalabs/common/firmware_if.c
> > @@ -1782,6 +1782,8 @@ int hl_fw_dynamic_send_protocol_cmd(struct hl_device *hdev,
> >
> > /* first send clear command to clean former commands */
> > rc = hl_fw_dynamic_send_clear_cmd(hdev, fw_loader);
> > + if (rc)
> > + return rc;
> >
> > /* send the actual command */
> > hl_fw_dynamic_send_cmd(hdev, fw_loader, cmd, size);
>
> Are you sure this is ok? If the first "clean the buffer" command fails,
> all should still be good as that wasn't the real command.
>
> But maybe the hardware will never fail this?
>
> thanks,
>
> greg k-h

Actually it's a real mistake, it was overlooked when the code was
written (although chances of failure in clear cmd are very small).
I'll apply it to my tree.
Reviewed-by: Oded Gabbay <ogabbay@xxxxxxxxxx>
Thanks,
Oded