media: dvb-frontends: mb86a16.c: always use the same error path
If the message length was wrong, the dprintk() after the 'err' label was bypassed. Fix that, and fix a smatch warning at the same time: mb86a16.c:1514 mb86a16_send_diseqc_msg() warn: missing unwind goto? Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
parent
6a4c664539
commit
107b7a219b
|
@ -1498,6 +1498,7 @@ static int mb86a16_send_diseqc_msg(struct dvb_frontend *fe,
|
|||
struct dvb_diseqc_master_cmd *cmd)
|
||||
{
|
||||
struct mb86a16_state *state = fe->demodulator_priv;
|
||||
int ret = -EREMOTEIO;
|
||||
int i;
|
||||
u8 regs;
|
||||
|
||||
|
@ -1510,8 +1511,10 @@ static int mb86a16_send_diseqc_msg(struct dvb_frontend *fe,
|
|||
|
||||
regs = 0x18;
|
||||
|
||||
if (cmd->msg_len > 5 || cmd->msg_len < 4)
|
||||
return -EINVAL;
|
||||
if (cmd->msg_len > 5 || cmd->msg_len < 4) {
|
||||
ret = -EINVAL;
|
||||
goto err;
|
||||
}
|
||||
|
||||
for (i = 0; i < cmd->msg_len; i++) {
|
||||
if (mb86a16_write(state, regs, cmd->msg[i]) < 0)
|
||||
|
@ -1532,7 +1535,7 @@ static int mb86a16_send_diseqc_msg(struct dvb_frontend *fe,
|
|||
|
||||
err:
|
||||
dprintk(verbose, MB86A16_ERROR, 1, "I2C transfer error");
|
||||
return -EREMOTEIO;
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int mb86a16_send_diseqc_burst(struct dvb_frontend *fe,
|
||||
|
|
Loading…
Reference in New Issue