| From 6b4aa2bd43ad503d95523dbb875ad45af3296c23 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 9 Apr 2021 19:38:05 +0530 |
| Subject: gpio: zynq: Check return value of pm_runtime_get_sync |
| |
| From: Srinivas Neeli <srinivas.neeli@xilinx.com> |
| |
| [ 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 | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/gpio/gpio-zynq.c b/drivers/gpio/gpio-zynq.c |
| index 3521c1dc3ac0..fb8684d70fe3 100644 |
| --- a/drivers/gpio/gpio-zynq.c |
| +++ b/drivers/gpio/gpio-zynq.c |
| @@ -1001,8 +1001,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); |
| -- |
| 2.30.2 |
| |