If request_irq() fails, forward the return value. Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> --- drivers/net/can/at91_can.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/net/can/at91_can.c b/drivers/net/can/at91_can.c index 3f3c6f2107a8..bfe414581fa1 100644 --- a/drivers/net/can/at91_can.c +++ b/drivers/net/can/at91_can.c @@ -1128,11 +1128,10 @@ static int at91_open(struct net_device *dev) goto out; /* register interrupt handler */ - if (request_irq(dev->irq, at91_irq, IRQF_SHARED, - dev->name, dev)) { - err = -EAGAIN; + err = request_irq(dev->irq, at91_irq, IRQF_SHARED, + dev->name, dev); + if (err) goto out_close; - } /* start chip and queuing */ at91_chip_start(dev); -- 2.40.1