iio: ad799x: Fix buffered capture for ad7991/ad7995/ad7999
authorLars-Peter Clausen <lars@metafoo.de>
Mon, 11 Jul 2016 11:54:17 +0000 (13:54 +0200)
committerJonathan Cameron <jic23@kernel.org>
Mon, 15 Aug 2016 14:39:14 +0000 (15:39 +0100)
The data buffer for captured mode for the ad799x driver is allocated in the
update_scan_mode() callback. This callback is not set in the iio_info
struct for the ad7791/ad7995/ad7999, which means that the data buffer is
not allocated when a captured transfer is started. As a result the driver
crashes when the first sample is received. To fix this properly set the
update_scan_mode() callback.

Fixes: d8dca33027c1 ("staging:iio:ad799x: Preallocate sample buffer")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/adc/ad799x.c

index b6163764489c677a2ec45dd5536464734ac641c6..9704090b79084f3206703c248aed3d774831744f 100644 (file)
@@ -527,6 +527,7 @@ static struct attribute_group ad799x_event_attrs_group = {
 static const struct iio_info ad7991_info = {
        .read_raw = &ad799x_read_raw,
        .driver_module = THIS_MODULE,
+       .update_scan_mode = ad799x_update_scan_mode,
 };
 
 static const struct iio_info ad7993_4_7_8_noirq_info = {