fjes: Check for error irq
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Wed, 22 Dec 2021 07:12:07 +0000 (15:12 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Dec 2021 11:25:57 +0000 (12:25 +0100)
[ Upstream commit db6d6afe382de5a65d6ccf51253ab48b8e8336c3 ]

I find that platform_get_irq() will not always succeed.
It will return error irq in case of the failure.
Therefore, it might be better to check it if order to avoid the use of
error irq.

Fixes: 658d439b2292 ("fjes: Introduce FUJITSU Extended Socket Network Device driver")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/fjes/fjes_main.c

index e449d946612259cf77ac78ea87449f0b3ebb0b40..2a569eea4ee8feccdcc014be07ef888e23fc8af6 100644 (file)
@@ -1269,6 +1269,11 @@ static int fjes_probe(struct platform_device *plat_dev)
        hw->hw_res.start = res->start;
        hw->hw_res.size = resource_size(res);
        hw->hw_res.irq = platform_get_irq(plat_dev, 0);
+       if (hw->hw_res.irq < 0) {
+               err = hw->hw_res.irq;
+               goto err_free_control_wq;
+       }
+
        err = fjes_hw_init(&adapter->hw);
        if (err)
                goto err_free_control_wq;