mfd: sprd-sc27xx: Fix wakeup source leaks on device unbind
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Sun, 6 Apr 2025 19:50:16 +0000 (21:50 +0200)
committerLee Jones <lee@kernel.org>
Fri, 23 May 2025 07:49:13 +0000 (08:49 +0100)
Device can be unbound, so driver must also release memory for the wakeup
source.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Link: https://lore.kernel.org/r/20250406-mfd-device-wakekup-leak-v1-8-318e14bdba0a@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/mfd/sprd-sc27xx-spi.c

index 7186e21..d6b4350 100644 (file)
@@ -210,7 +210,10 @@ static int sprd_pmic_probe(struct spi_device *spi)
                return ret;
        }
 
-       device_init_wakeup(&spi->dev, true);
+       ret = devm_device_init_wakeup(&spi->dev);
+       if (ret)
+               return dev_err_probe(&spi->dev, ret, "Failed to init wakeup\n");
+
        return 0;
 }