[PATCH 2/3] powercap: arm_scmi: Fix signedness bug in probe

From: Cristian Marussi
Date: Wed Aug 17 2022 - 06:54:58 EST


From: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

The "pr->num_zones" variable is an unsigned int so it can't be less than
zero.

Fixes: 31afdd34f2b9 ("powercap: arm_scmi: Add SCMI powercap based driver")
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
---
drivers/powercap/arm_scmi_powercap.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/powercap/arm_scmi_powercap.c b/drivers/powercap/arm_scmi_powercap.c
index 9f3b8386b4d8..dc26cbb32b35 100644
--- a/drivers/powercap/arm_scmi_powercap.c
+++ b/drivers/powercap/arm_scmi_powercap.c
@@ -425,11 +425,12 @@ static int scmi_powercap_probe(struct scmi_device *sdev)
if (!pr)
return -ENOMEM;

- pr->num_zones = powercap_ops->num_domains_get(ph);
- if (pr->num_zones < 0) {
+ ret = powercap_ops->num_domains_get(ph);
+ if (ret < 0) {
dev_err(dev, "number of powercap domains not found\n");
- return pr->num_zones;
+ return ret;
}
+ pr->num_zones = ret;

pr->spzones = devm_kcalloc(dev, pr->num_zones,
sizeof(*pr->spzones), GFP_KERNEL);
--
2.32.0