On 04/04/2016 06:16 AM, Dan Carpenter wrote:
My static checker complains that "ret" could be zero here. (Presumably
that means the hardware is badly busted). But the result would be that
the caller assumes *resp_len is initialized when it's not and it leads
to a warning. Let's just silence the warning.
I don't think i2c_smbus_read_block_data() can return a zero, it's either
an error or a message.
I'm ok with this, but can you add a comment saying why this is here? I
don't like strange looking code without explanations.
Thanks,
-corey
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
index 8b3be8b..512c5b6 100644
--- a/drivers/char/ipmi/ipmi_ssif.c
+++ b/drivers/char/ipmi/ipmi_ssif.c
@@ -1232,6 +1232,8 @@ static int do_cmd(struct i2c_client *client, int len, unsigned char *msg,
break;
}
+ if (ret == 0)
+ ret = -EINVAL;
if (ret > 0) {
/* Validate that the response is correct. */
if (ret < 3 ||
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html