iio: ad799x: Fix buffered capture for ad7991/ad7995/ad7999

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: d8dca33027 ("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>
This commit is contained in:
Lars-Peter Clausen 2016-07-11 13:54:17 +02:00 committed by Jonathan Cameron
parent b2f0c09664
commit 7d3cc21dab

View file

@ -527,6 +527,7 @@ static struct attribute_group ad799x_event_attrs_group = {
static const struct iio_info ad7991_info = { static const struct iio_info ad7991_info = {
.read_raw = &ad799x_read_raw, .read_raw = &ad799x_read_raw,
.driver_module = THIS_MODULE, .driver_module = THIS_MODULE,
.update_scan_mode = ad799x_update_scan_mode,
}; };
static const struct iio_info ad7993_4_7_8_noirq_info = { static const struct iio_info ad7993_4_7_8_noirq_info = {