]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
gpio: zynq: Fix wakeup source leaks on device unbind
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Sun, 6 Apr 2025 20:22:45 +0000 (22:22 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 2 May 2025 05:44:05 +0000 (07:44 +0200)
commit c5672e310ad971d408752fce7596ed27adc6008f upstream.

Device can be unbound, so driver must also release memory for the wakeup
source.

Cc: stable@vger.kernel.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250406202245.53854-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpio/gpio-zynq.c

index 06c6401f02b89e0113f58ece5ef77e5307eb6ccf..1d8168153a1c095960d9a28fd195d683c501805e 100644 (file)
@@ -1012,6 +1012,7 @@ static int zynq_gpio_remove(struct platform_device *pdev)
        ret = pm_runtime_get_sync(&pdev->dev);
        if (ret < 0)
                dev_warn(&pdev->dev, "pm_runtime_get_sync() Failed\n");
+       device_init_wakeup(&pdev->dev, 0);
        gpiochip_remove(&gpio->chip);
        clk_disable_unprepare(gpio->clk);
        device_set_wakeup_capable(&pdev->dev, 0);