]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
extcon: adc-jack: Cleanup wakeup source only if it was enabled
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Fri, 9 May 2025 07:17:04 +0000 (09:17 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Nov 2025 20:34:41 +0000 (15:34 -0500)
commit 92bac7d4de9c07933f6b76d8f1c7f8240f911f4f upstream.

Driver in the probe enables wakeup source conditionally, so the cleanup
path should do the same - do not release the wakeup source memory if it
was not allocated.

Link: https://lore.kernel.org/lkml/20250509071703.39442-2-krzysztof.kozlowski@linaro.org/
Reported-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Closes: https://lore.kernel.org/r/22aaebb7-553b-4571-8a43-58a523241082@wanadoo.fr/
Fixes: 78b6a991eb6c ("extcon: adc-jack: Fix wakeup source leaks on device unbind")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/extcon/extcon-adc-jack.c

index c7b5f3f0da2efd713c0424d5bb55ad3706527ab9..ac93767c8a7a190f9d640b261a7107b2517081ac 100644 (file)
@@ -164,7 +164,8 @@ static void adc_jack_remove(struct platform_device *pdev)
 {
        struct adc_jack_data *data = platform_get_drvdata(pdev);
 
-       device_init_wakeup(&pdev->dev, false);
+       if (data->wakeup_source)
+               device_init_wakeup(&pdev->dev, false);
        free_irq(data->irq, data);
        cancel_work_sync(&data->handler.work);
 }