gpio: loongson-64bit: Fix a less than zero check on an unsigned int struct field

Currently the error check from the call to platform_get_irq is always
false because an unsigned int chip->irq.parents[i] is being used to
to perform the less than zero error check. Fix this by using the int
variable ret to perform the check.

Fixes: 03c146cb6c ("gpio: loongson-64bit: Add support for Loongson-2K0300 SoC")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Reviewed-by: Huacai Chen <chenhuacai@loongson.cn>
Reviewed-by: Yao Zi <ziyao@disroot.org>
Link: https://lore.kernel.org/r/20250909190356.870000-1-colin.i.king@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
Colin Ian King 2025-09-09 20:03:56 +01:00 committed by Bartosz Golaszewski
parent 52bdd69671
commit 4c91b0ee35

View File

@ -267,10 +267,13 @@ static int loongson_gpio_init_irqchip(struct platform_device *pdev,
return -ENOMEM;
for (i = 0; i < data->intr_num; i++) {
chip->irq.parents[i] = platform_get_irq(pdev, i);
if (chip->irq.parents[i] < 0)
return dev_err_probe(&pdev->dev, chip->irq.parents[i],
int ret;
ret = platform_get_irq(pdev, i);
if (ret < 0)
return dev_err_probe(&pdev->dev, ret,
"failed to get IRQ %d\n", i);
chip->irq.parents[i] = ret;
}
for (i = 0; i < data->intr_num; i++) {