Hello Dan Carpenter,
Dan Carpenter writes:
> Hello Ralph Metzler,
>
> The patch 126f1e618870: "drx: add initial drx-d driver" from Mar 12,
> 2011, leads to the following static checker warning:
>
> drivers/media/dvb-frontends/drxd_hard.c:1305 SC_WaitForReady()
> info: return a literal instead of 'status'
>
> drivers/media/dvb-frontends/drxd_hard.c
> 1298 static int SC_WaitForReady(struct drxd_state *state)
> 1299 {
> 1300 int i;
> 1301
> 1302 for (i = 0; i < DRXD_MAX_RETRIES; i += 1) {
> 1303 int status = Read16(state, SC_RA_RAM_CMD__A, NULL,
> 0);
> 1304 if (status == 0)
> 1305 return status;
> ^^^^^^^^^^^^^
> The register is set to zero when ready? The answer should obviously be
> yes, but it wouldn't totally surprise me if this function just always
> looped 1000 times... Few of the callers check the return. Anyway, it's
> more clear to just "return 0;"
>
> 1306 }
> 1307 return -1;
> ^^
> -1 is not a proper error code.
>
> 1308 }
>
> regards,
> dan carpenter
I think I wrote the driver more than 10 years ago and somebody later submitted
it
to the kernel.
I don't know if there is a anybody still maintaining this. Is it even used
anymore?
I could write a patch but cannot test it (e.g. to see if it really always
loops 1000 times ...)
Regards,
Ralph Metzler
--
--