Add the missing check for platform_get_irq and return error code if it fails. Signed-off-by: Jiasheng Jiang <jiasheng@xxxxxxxxxxx> --- Changelog: v1 -> v2: 1. Return "chip->irq_number[i]" instead of "-ENODEV". --- drivers/gpio/gpio-sifive.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpio/gpio-sifive.c b/drivers/gpio/gpio-sifive.c index 98939cd4a71e..7245000fb049 100644 --- a/drivers/gpio/gpio-sifive.c +++ b/drivers/gpio/gpio-sifive.c @@ -221,8 +221,11 @@ static int sifive_gpio_probe(struct platform_device *pdev) return -ENODEV; } - for (i = 0; i < ngpio; i++) + for (i = 0; i < ngpio; i++) { chip->irq_number[i] = platform_get_irq(pdev, i); + if (chip->irq_number[i] < 0) + return chip->irq_number[i]; + } ret = bgpio_init(&chip->gc, dev, 4, chip->base + SIFIVE_GPIO_INPUT_VAL, -- 2.25.1