summary refs log tree commit diff
path: root/drivers/iio/accel
diff options
context:
space:
mode:
authorChuhong Yuan <hslester96@gmail.com>2020-05-28 14:41:21 +0800
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2020-06-14 12:32:23 +0100
commitd7369ae1f4d7cffa7574d15e1f787dcca184c49d (patch)
tree492aa1633529c5a0ce653453758f49c87e775dbb /drivers/iio/accel
parentf88ecccac4be348bbcc6d056bdbc622a8955c04d (diff)
downloadlinux-d7369ae1f4d7cffa7574d15e1f787dcca184c49d.tar.gz
iio: mma8452: Add missed iio_device_unregister() call in mma8452_probe()
The function iio_device_register() was called in mma8452_probe().
But the function iio_device_unregister() was not called after
a call of the function mma8452_set_freefall_mode() failed.
Thus add the missed function call for one error case.

Fixes: 1a965d405fc6 ("drivers:iio:accel:mma8452: added cleanup provision in case of failure.")
Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers/iio/accel')
-rw-r--r--drivers/iio/accel/mma8452.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/iio/accel/mma8452.c b/drivers/iio/accel/mma8452.c
index 00e100fc845a..813bca7cfc3e 100644
--- a/drivers/iio/accel/mma8452.c
+++ b/drivers/iio/accel/mma8452.c
@@ -1685,10 +1685,13 @@ static int mma8452_probe(struct i2c_client *client,
 
 	ret = mma8452_set_freefall_mode(data, false);
 	if (ret < 0)
-		goto buffer_cleanup;
+		goto unregister_device;
 
 	return 0;
 
+unregister_device:
+	iio_device_unregister(indio_dev);
+
 buffer_cleanup:
 	iio_triggered_buffer_cleanup(indio_dev);