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

From: Cristian Marussi
Date: Tue Sep 06 2022 - 11:42:05 EST


From: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

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

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 a91438867f8c..76200c004cad 100644
--- a/drivers/powercap/arm_scmi_powercap.c
+++ b/drivers/powercap/arm_scmi_powercap.c
@@ -389,11 +389,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