|
@@ -121,8 +121,10 @@ static int lis3l02dq_get_buffer_element(struct iio_dev *indio_dev,
|
|
if (rx_array == NULL)
|
|
if (rx_array == NULL)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
ret = lis3l02dq_read_all(indio_dev, rx_array);
|
|
ret = lis3l02dq_read_all(indio_dev, rx_array);
|
|
- if (ret < 0)
|
|
|
|
|
|
+ if (ret < 0) {
|
|
|
|
+ kfree(rx_array);
|
|
return ret;
|
|
return ret;
|
|
|
|
+ }
|
|
for (i = 0; i < scan_count; i++)
|
|
for (i = 0; i < scan_count; i++)
|
|
data[i] = combine_8_to_16(rx_array[i*4+1],
|
|
data[i] = combine_8_to_16(rx_array[i*4+1],
|
|
rx_array[i*4+3]);
|
|
rx_array[i*4+3]);
|