]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mfd: 88pm886: Fix wakeup source leaks on device unbind
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Sun, 6 Apr 2025 19:50:09 +0000 (21:50 +0200)
committerLee Jones <lee@kernel.org>
Fri, 23 May 2025 07:49:06 +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: Karel Balej <balejk@matfyz.cz>
Link: https://lore.kernel.org/r/20250406-mfd-device-wakekup-leak-v1-1-318e14bdba0a@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/mfd/88pm886.c

index 891fdce5d8c12474e5e01152ca5fec8c88470b63..177878aa32f86eb59705ba6a1205eea43142d920 100644 (file)
@@ -124,7 +124,11 @@ static int pm886_probe(struct i2c_client *client)
        if (err)
                return dev_err_probe(dev, err, "Failed to register power off handler\n");
 
-       device_init_wakeup(dev, device_property_read_bool(dev, "wakeup-source"));
+       if (device_property_read_bool(dev, "wakeup-source")) {
+               err = devm_device_init_wakeup(dev);
+               if (err)
+                       return dev_err_probe(dev, err, "Failed to init wakeup\n");
+       }
 
        return 0;
 }