commit
7e9e148af01ef388efb6e2490805970be4622792 upstream.
If flexcan_chip_start() in flexcan_open() fails, the interrupt is not freed,
this patch adds the missing cleanup.
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
/* start chip and queuing */
err = flexcan_chip_start(dev);
if (err)
/* start chip and queuing */
err = flexcan_chip_start(dev);
if (err)
napi_enable(&priv->napi);
netif_start_queue(dev);
return 0;
napi_enable(&priv->napi);
netif_start_queue(dev);
return 0;
+ out_free_irq:
+ free_irq(dev->irq, dev);
out_close:
close_candev(dev);
out:
out_close:
close_candev(dev);
out: