Hi Paolo, Hi Jonathan,Nice, thanks!
On Sat, Jun 3, 2017 at 10:52 AM, Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
On Sun, 28 May 2017 23:17:57 +0200I have tested this on actual hardware and it seems that there's a bug
Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> wrote:
Hi Paolo, Hi Jonathan,I've applied it to the togreg branch of iio.git but as that always goes out
On Sun, May 28, 2017 at 4:43 PM, Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
On Sun, 28 May 2017 13:24:38 +0200thanks for spotting this (and providing a patch to fix it)
Paolo Cretaro <paolocretaro@xxxxxxxxx> wrote:
Fix sparse warning: Using plain integer as NULL pointerThis looks fine to me, but ideally you should always try to include
Signed-off-by: Paolo Cretaro <paolocretaro@xxxxxxxxx>
the driver author - particularly in the case of patches to a recent
driver such as this one.
To that end I've cc'd Martin.
this looks good to me, so:
Acked-by: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx>
if you can wait until next weekend then I can also test this on real hardware.
as testing for at least a few days first (which I will happily rebase) give
me a shout if anything goes wrong!
in the meson-saradc driver (before and after this patch):
if there are still "old" values in the FIFO then the driver currently
crashes because regmap_read (regmap_mmio_read in case of the
meson-saradc driver to be precise) de-references the "value" pointer
(the parameter which we're trying to clean up here) -> this leads to a
NULL de-reference. this happens regardless of whether we are passing
"0" or "NULL"
I posted a patch which fixes the crash - and as a bonus this should
also fix the sparse warning reported by Paolo:
http://lists.infradead.org/pipermail/linux-amlogic/2017-June/003863.html
Jonathan
Jonathan
---
drivers/iio/adc/meson_saradc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c
index 81cd39a57fe3..fb3f67a9ae1f 100644
--- a/drivers/iio/adc/meson_saradc.c
+++ b/drivers/iio/adc/meson_saradc.c
@@ -481,7 +481,7 @@ static void meson_sar_adc_clear_fifo(struct iio_dev *indio_dev)
if (!meson_sar_adc_get_fifo_count(indio_dev))
break;
- regmap_read(priv->regmap, MESON_SAR_ADC_FIFO_RD, 0);
+ regmap_read(priv->regmap, MESON_SAR_ADC_FIFO_RD, NULL);
}
}
Regards,
Martin