[bug report] fsi: scom: Remove retries

Joel Stanley joel at jms.id.au
Fri Nov 26 16:23:30 AEDT 2021


Hello Dan,

On Thu, 25 Nov 2021 at 10:45, Dan Carpenter <dan.carpenter at oracle.com> wrote:
>
> Hello Joel Stanley,
>
> The patch f72ddbe1d7b7: "fsi: scom: Remove retries" from May 27,
> 2021, leads to the following Smatch static checker warning:

Thanks for the report. I agree with your analysis, and I'll look at a fix.

Cheers,

Joel
>
>         drivers/fsi/fsi-scom.c:314 get_scom()
>         error: uninitialized symbol 'status'.
>
> drivers/fsi/fsi-scom.c
>     304 static int get_scom(struct scom_device *scom, uint64_t *value,
>     305                     uint64_t addr)
>     306 {
>     307         uint32_t status;
>     308         int rc;
>     309
>     310         rc = raw_get_scom(scom, value, addr, &status);
>     311         if (rc == -ENODEV)
>                     ^^^^^^^^^^^^^
> In the original code this called raw_get_scom() until it succeeded, or
> if it timed out then get_scom() returned an error.  Now we just ignore
> errors except -ENODEV.
>
>     312                 return rc;
>     313
> --> 314         rc = handle_fsi2pib_status(scom, status);
>                                                  ^^^^^^
> Which means that "status" can be uninitialized.
>
>     315         if (rc)
>     316                 return rc;
>     317
>     318         return handle_pib_status(scom,
>     319                                  (status & SCOM_STATUS_PIB_RESP_MASK)
>     320                                  >> SCOM_STATUS_PIB_RESP_SHIFT);
>     321 }
>
> regards,
> dan carpenter


More information about the linux-fsi mailing list