gpio: zynq: Check return value of pm_runtime_get_sync
authorSrinivas Neeli <srinivas.neeli@xilinx.com>
Fri, 9 Apr 2021 14:08:05 +0000 (19:38 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Jul 2021 14:17:50 +0000 (16:17 +0200)
[ Upstream commit a51b2fb94b04ab71e53a71b9fad03fa826941254 ]

Return value of "pm_runtime_get_sync" API was neither captured nor checked.
Fixed it by capturing the return value and then checking for any warning.

Addresses-Coverity: "check_return"
Signed-off-by: Srinivas Neeli <srinivas.neeli@xilinx.com>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpio/gpio-zynq.c

index f1d7066b6637e395e6c164940dfdc4a02653dcbf..e8295519fa7dc942e326ba8396264e1d55954816 100644 (file)
@@ -900,8 +900,11 @@ err_pm_dis:
 static int zynq_gpio_remove(struct platform_device *pdev)
 {
        struct zynq_gpio *gpio = platform_get_drvdata(pdev);
+       int ret;
 
-       pm_runtime_get_sync(&pdev->dev);
+       ret = pm_runtime_get_sync(&pdev->dev);
+       if (ret < 0)
+               dev_warn(&pdev->dev, "pm_runtime_get_sync() Failed\n");
        gpiochip_remove(&gpio->chip);
        clk_disable_unprepare(gpio->clk);
        device_set_wakeup_capable(&pdev->dev, 0);