On 12/06/16 07:55, Matt Ranostay wrote: > > Also important to note these warnings are environment related (e.g. room with > lot of EMI noise) and unlikely a chip misconfiguration. Unless the tuning > capacitor setting is wrong of course Applied to the togreg branch of iio.git. Initially pushed out as testing for the autobuilders to play with it.
Thanks, Jonathan > >> On Jun 11, 2016, at 09:32, Jonathan Cameron <[email protected]> wrote: >> >>> On 31/05/16 15:53, Andrew F. Davis wrote: >>>> On 05/30/2016 09:52 AM, Arnd Bergmann wrote: >>>> 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 existst in the same function, but is >>> >>> ^^ typo >>> >>>> missing a trailing '\n' character, so I'm fixing that too. >>>> >>>> Signed-off-by: Arnd Bergmann <[email protected]> >>>> --- >>>> drivers/iio/proximity/as3935.c | 10 ++++++++-- >>>> 1 file changed, 8 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/drivers/iio/proximity/as3935.c >>>> b/drivers/iio/proximity/as3935.c >>>> index f4d29d5dbd5f..b49e3ab5730a 100644 >>>> --- a/drivers/iio/proximity/as3935.c >>>> +++ b/drivers/iio/proximity/as3935.c >>>> @@ -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, work.work); >>>> >>>> - as3935_read(st, AS3935_INT, &val); >>>> + ret = as3935_read(st, AS3935_INT, &val); >>>> + if (ret) { >>>> + dev_warn(&st->spi->dev, "read error\n"); >>> >>> Maybe I'm misunderstanding the commit message, why does this error not >>> use dev_err()? A read error here would be rather serious, it might even >>> be worth it to return a code and fail through the caller too. >> They are unusual and typically result in momentary corruption. Hmm. >> As this is in a work function, there is no easy way of actually >> passing the error upstream.. dev_err is a little brutal so perhaps >> this is the best option... >>> >>>> + return; >>>> + } >>>> + >>>> val &= AS3935_INT_MASK; >>>> >>>> switch (val) { >>>> @@ -235,7 +241,7 @@ static void as3935_event_work(struct work_struct *work) >>>> iio_trigger_poll(st->trig); >>>> break; >>>> 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"); >>>> break; >>>> } >>>> } >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-iio" in >>> the body of a message to [email protected] >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-iio" in >> the body of a message to [email protected] >> More majordomo info at http://vger.kernel.org/majordomo-info.html > -- > To unsubscribe from this list: send the line "unsubscribe linux-iio" in > the body of a message to [email protected] > More majordomo info at http://vger.kernel.org/majordomo-info.html >

