diff options
author | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2020-10-08 13:59:13 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+huawei@kernel.org> | 2020-10-08 14:15:14 +0200 |
commit | c386e0797d26a32e354daf4480c5d40165db66a1 (patch) | |
tree | 4bdec622216e0a3dd9c064d6c120b529a73552f0 /drivers/media/dvb-frontends | |
parent | 2311072d9905b1f810a3c0665362ee552f076c26 (diff) |
media: dvb-frontends/drxk_hard.c: fix uninitialized variable warning
drxk_hard.c: In function 'hi_command.constprop':
drxk_hard.c:1016:5: warning: 'wait_cmd' may be used uninitialized in this function [-Wmaybe-uninitialized]
1015 | } while ((status < 0) && (retry_count < DRXK_MAX_RETRIES)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1016 | && (wait_cmd != 0));
| ^~~~~~~~~~~~~~~~~~
The underlying cause is that the while condition is wrong. It should be:
(status < 0 || wait_cmd) && (retry_count < DRXK_MAX_RETRIES)
'wait_cmd' is only valid if '!(status < 0)'.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers/media/dvb-frontends')
-rw-r--r-- | drivers/media/dvb-frontends/drxk_hard.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/media/dvb-frontends/drxk_hard.c b/drivers/media/dvb-frontends/drxk_hard.c index 32f9346deb3e..a57470bf71bf 100644 --- a/drivers/media/dvb-frontends/drxk_hard.c +++ b/drivers/media/dvb-frontends/drxk_hard.c @@ -1011,8 +1011,7 @@ static int hi_command(struct drxk_state *state, u16 cmd, u16 *p_result) retry_count += 1; status = read16(state, SIO_HI_RA_RAM_CMD__A, &wait_cmd); - } while ((status < 0) && (retry_count < DRXK_MAX_RETRIES) - && (wait_cmd != 0)); + } while ((status < 0 || wait_cmd) && (retry_count < DRXK_MAX_RETRIES)); if (status < 0) goto error; status = read16(state, SIO_HI_RA_RAM_RES__A, p_result); |