]> 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:37:48 +0000 (15:37 -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 557930394abd25771799733a22121d1f8e254918..7e3c9f38297bdf728ec60aeace5e3c1e91bbcc65 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);
 }