Browse Source

iio: kfifo: Set update_needed to false only if a buffer was allocated

Check whether the allocation of a new kfifo buffer failed or not before
setting the update_needed flag to false. This will make
iio_request_update_kfifo() try to allocate a new buffer the next time a
buffer update is requested.

Signed-off-by: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Gabriele Mazzotta 10 năm trước cách đây
mục cha
commit
e5f1efb9ae
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      drivers/iio/kfifo_buf.c

+ 2 - 1
drivers/iio/kfifo_buf.c

@@ -38,7 +38,8 @@ static int iio_request_update_kfifo(struct iio_buffer *r)
 		kfifo_free(&buf->kf);
 		ret = __iio_allocate_kfifo(buf, buf->buffer.bytes_per_datum,
 				   buf->buffer.length);
-		buf->update_needed = false;
+		if (ret >= 0)
+			buf->update_needed = false;
 	} else {
 		kfifo_reset_out(&buf->kf);
 	}