• Arnd Bergmann's avatar
    iio: ade7753: avoid uninitialized data · 7e1da863
    Arnd Bergmann authored
    The ade7753_spi_read_reg_16() will either successfully read a value
    from SPI, or return a failure code without delivering data. However,
    the ade7753_stop_device() and ade7753_reset() functions use the returned
    data without checking for an error condition first. Gcc detects this
    as a possible bug and warns about it:
    
    drivers/staging/iio/meter/ade7753.c: In function 'ade7753_remove':
    drivers/staging/iio/meter/ade7753.c:348:6: error: 'val' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      val |= BIT(4);  /* AD converters can be turned off */
          ^
    drivers/staging/iio/meter/ade7753.c:345:6: note: 'val' was declared here
      u16 val;
          ^
    drivers/staging/iio/meter/ade7753.c: In function 'ade7753_probe':
    drivers/staging/iio/meter/ade7753.c:222:6: error: 'val' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
    In both cases, we can avoids the warning by checking the return code
    before using the data.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
    7e1da863
ade7753.c 12.5 KB