platform_get_irq() can fail here and we must check its return value. Signed-off-by: Arvind Yadav <arvind.yadav...@gmail.com> --- changes in v2: commit message was not correct.
drivers/net/can/xilinx_can.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/can/xilinx_can.c b/drivers/net/can/xilinx_can.c index 89aec07..1b859af 100644 --- a/drivers/net/can/xilinx_can.c +++ b/drivers/net/can/xilinx_can.c @@ -1111,6 +1111,10 @@ static int xcan_probe(struct platform_device *pdev) /* Get IRQ for the device */ ndev->irq = platform_get_irq(pdev, 0); + if (ndev->irq <= 0) { + ret = ndev->irq ? ndev->irq : -ENODEV; + goto err_free; + } ndev->flags |= IFF_ECHO; /* We support local echo */ platform_set_drvdata(pdev, ndev); -- 2.7.4