[PATCH] drivers: soc: xilinx: check return status of get_api_version()

From: Jay Buddhabhatti
Date: Wed Apr 24 2024 - 02:31:54 EST


Check return status of pm_get_api_version and return error in case of failure to
avoid checking uninitialized pm_api_version variable from stack.

The issue is also reported by smatch on x86 as "warning: 'pm_api_version' is
used uninitialized".

Fixes: b9b3a8be28b3 ("firmware: xilinx: Remove eemi ops for get_api_version")
Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@xxxxxxx>
---
drivers/soc/xilinx/zynqmp_power.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/soc/xilinx/zynqmp_power.c b/drivers/soc/xilinx/zynqmp_power.c
index 965b1143936a..8570ab1a6857 100644
--- a/drivers/soc/xilinx/zynqmp_power.c
+++ b/drivers/soc/xilinx/zynqmp_power.c
@@ -3,6 +3,7 @@
* Xilinx Zynq MPSoC Power Management
*
* Copyright (C) 2014-2019 Xilinx, Inc.
+ * Copyright (C) 2024, Advanced Micro Devices, Inc.
*
* Davorin Mista <davorin.mista@xxxxxxxxxx>
* Jolly Shah <jollys@xxxxxxxxxx>
@@ -190,7 +191,9 @@ static int zynqmp_pm_probe(struct platform_device *pdev)
u32 pm_api_version;
struct mbox_client *client;

- zynqmp_pm_get_api_version(&pm_api_version);
+ ret = zynqmp_pm_get_api_version(&pm_api_version);
+ if (ret)
+ return ret;

/* Check PM API version number */
if (pm_api_version < ZYNQMP_PM_VERSION)
--
2.17.1