iio: light: tsl2583: Fix module unloading
authorShreeya Patel <shreeya.patel@collabora.com>
Fri, 26 Aug 2022 12:23:52 +0000 (17:53 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Nov 2022 14:59:11 +0000 (23:59 +0900)
commit 0dec4d2f2636b9e54d9d29f17afc7687c5407f78 upstream.

tsl2583 probe() uses devm_iio_device_register() and calling
iio_device_unregister() causes the unregister to occur twice. s
Switch to iio_device_register() instead of devm_iio_device_register()
in probe to avoid the device managed cleanup.

Fixes: 371894f5d1a0 ("iio: tsl2583: add runtime power management support")
Signed-off-by: Shreeya Patel <shreeya.patel@collabora.com>
Link: https://lore.kernel.org/r/20220826122352.288438-1-shreeya.patel@collabora.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iio/light/tsl2583.c

index 7e101d5..d696d19 100644 (file)
@@ -858,7 +858,7 @@ static int tsl2583_probe(struct i2c_client *clientp,
                                         TSL2583_POWER_OFF_DELAY_MS);
        pm_runtime_use_autosuspend(&clientp->dev);
 
-       ret = devm_iio_device_register(indio_dev->dev.parent, indio_dev);
+       ret = iio_device_register(indio_dev);
        if (ret) {
                dev_err(&clientp->dev, "%s: iio registration failed\n",
                        __func__);