Commit 22ed1a1c authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Jonathan Cameron
Browse files

iio: as3935: improve error reporting in as3935_event_work

gcc warns about a potentially uninitialized variable use
in as3935_event_work:

drivers/iio/proximity/as3935.c: In function ‘as3935_event_work’:
drivers/iio/proximity/as3935.c:231:6: error: ‘val’ may be used uninitialized in this function [-Werror=maybe-uninitialized]

This case specifically happens when spi_w8r8() fails with a
negative return code. We check all other users of this function
except this one.

As the error is rather unlikely to happen after the device
has already been initialized, this just adds a dev_warn().
Another warning already exists in the same function, but is
missing a trailing '\n' character, so I'm fixing that too.
Signed-off-by: default avatarArnd Bergmann <>
Reviewed-by: default avatarMatt Ranostay <>
Signed-off-by: default avatarJonathan Cameron <>
parent aea7b1dc
......@@ -224,10 +224,16 @@ static void as3935_event_work(struct work_struct *work)
struct as3935_state *st;
int val;
int ret;
st = container_of(work, struct as3935_state,;
as3935_read(st, AS3935_INT, &val);
ret = as3935_read(st, AS3935_INT, &val);
if (ret) {
dev_warn(&st->spi->dev, "read error\n");
val &= AS3935_INT_MASK;
switch (val) {
......@@ -235,7 +241,7 @@ static void as3935_event_work(struct work_struct *work)
case AS3935_NOISE_INT:
dev_warn(&st->spi->dev, "noise level is too high");
dev_warn(&st->spi->dev, "noise level is too high\n");
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment