aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/iio/industrialio-buffer.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
index e73033f3839a..5862c88ed5ad 100644
--- a/drivers/iio/industrialio-buffer.c
+++ b/drivers/iio/industrialio-buffer.c
@@ -528,8 +528,15 @@ int iio_update_buffers(struct iio_dev *indio_dev,
528 * Note can only occur when adding a buffer. 528 * Note can only occur when adding a buffer.
529 */ 529 */
530 list_del(&insert_buffer->buffer_list); 530 list_del(&insert_buffer->buffer_list);
531 indio_dev->active_scan_mask = old_mask; 531 if (old_mask) {
532 success = -EINVAL; 532 indio_dev->active_scan_mask = old_mask;
533 success = -EINVAL;
534 }
535 else {
536 kfree(compound_mask);
537 ret = -EINVAL;
538 goto error_ret;
539 }
533 } 540 }
534 } else { 541 } else {
535 indio_dev->active_scan_mask = compound_mask; 542 indio_dev->active_scan_mask = compound_mask;