mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-30 16:13:54 +08:00
can: flexcan: flexcan_open(): fix error path if flexcan_chip_start() fails
If flexcan_chip_start() in flexcan_open() fails, the interrupt is not freed, this patch adds the missing cleanup. Cc: linux-stable <stable@vger.kernel.org> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
parent
5be93bdda6
commit
7e9e148af0
@ -868,7 +868,7 @@ static int flexcan_open(struct net_device *dev)
|
||||
/* start chip and queuing */
|
||||
err = flexcan_chip_start(dev);
|
||||
if (err)
|
||||
goto out_close;
|
||||
goto out_free_irq;
|
||||
|
||||
can_led_event(dev, CAN_LED_EVENT_OPEN);
|
||||
|
||||
@ -877,6 +877,8 @@ static int flexcan_open(struct net_device *dev)
|
||||
|
||||
return 0;
|
||||
|
||||
out_free_irq:
|
||||
free_irq(dev->irq, dev);
|
||||
out_close:
|
||||
close_candev(dev);
|
||||
out_disable_per:
|
||||
|
Loading…
Reference in New Issue
Block a user