| From 1784f28b4265f2f72079c0a8afc54c447e5e7b43 Mon Sep 17 00:00:00 2001 |
| From: Chuhong Yuan <hslester96@gmail.com> |
| Date: Thu, 28 May 2020 14:41:21 +0800 |
| Subject: [PATCH] iio: mma8452: Add missed iio_device_unregister() call in |
| mma8452_probe() |
| |
| commit d7369ae1f4d7cffa7574d15e1f787dcca184c49d upstream. |
| |
| 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> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| 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); |
| |
| -- |
| 2.27.0 |
| |