Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

staging: iio: meter: add check on return variables

adds checks on variables that are used to return values. If
the value is less than zero, this indicates that an error
occurred and hence a message is printed through dev_err.
Checks are made on negative values only since spi_* functions
return negative error codes.

The functions were found using the following script but the
aforementioned modification was what was carried out in the end:
@@
identifier len,f;
@@

-int len;
... when != len
when strict
-len =
+return
f(...);
-return len;

Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@gmail.com>
Reviewed-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Aya Mahfouz and committed by
Greg Kroah-Hartman
e384b69a 82d28561

+16 -14
+16 -14
drivers/staging/iio/meter/ade7758_core.c
··· 303 303 int ret; 304 304 u8 val; 305 305 306 - ade7758_spi_read_reg_8(dev, 307 - ADE7758_OPMODE, 308 - &val); 306 + ret = ade7758_spi_read_reg_8(dev, ADE7758_OPMODE, &val); 307 + if (ret < 0) { 308 + dev_err(dev, "Failed to read opmode reg\n"); 309 + return ret; 310 + } 309 311 val |= 1 << 6; /* Software Chip Reset */ 310 - ret = ade7758_spi_write_reg_8(dev, 311 - ADE7758_OPMODE, 312 - val); 313 - 312 + ret = ade7758_spi_write_reg_8(dev, ADE7758_OPMODE, val); 313 + if (ret < 0) 314 + dev_err(dev, "Failed to write opmode reg\n"); 314 315 return ret; 315 316 } 316 317 ··· 445 444 int ret; 446 445 u8 val; 447 446 448 - ade7758_spi_read_reg_8(dev, 449 - ADE7758_OPMODE, 450 - &val); 447 + ret = ade7758_spi_read_reg_8(dev, ADE7758_OPMODE, &val); 448 + if (ret < 0) { 449 + dev_err(dev, "Failed to read opmode reg\n"); 450 + return ret; 451 + } 451 452 val |= 7 << 3; /* ADE7758 powered down */ 452 - ret = ade7758_spi_write_reg_8(dev, 453 - ADE7758_OPMODE, 454 - val); 455 - 453 + ret = ade7758_spi_write_reg_8(dev, ADE7758_OPMODE, val); 454 + if (ret < 0) 455 + dev_err(dev, "Failed to write opmode reg\n"); 456 456 return ret; 457 457 } 458 458