Skip to content

Commit 64f4389

Browse files
joehattorijic23
authored andcommitted
iio: inkern: call iio_device_put() only on mapped devices
In the error path of iio_channel_get_all(), iio_device_put() is called on all IIO devices, which can cause a refcount imbalance. Fix this error by calling iio_device_put() only on IIO devices whose refcounts were previously incremented by iio_device_get(). Fixes: 314be14 ("iio: Rename _st_ functions to loose the bit that meant the staging version.") Signed-off-by: Joe Hattori <[email protected]> Link: https://patch.msgid.link/[email protected] Cc: <[email protected]> Signed-off-by: Jonathan Cameron <[email protected]>
1 parent bbf6b6d commit 64f4389

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/iio/inkern.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,7 @@ struct iio_channel *iio_channel_get_all(struct device *dev)
500500
return_ptr(chans);
501501

502502
error_free_chans:
503-
for (i = 0; i < nummaps; i++)
503+
for (i = 0; i < mapind; i++)
504504
iio_device_put(chans[i].indio_dev);
505505
return ERR_PTR(ret);
506506
}

0 commit comments

Comments
 (0)