lkml.org 
[lkml]   [2014]   [Apr]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.8 39/86] can: flexcan: flexcan_open(): fix error path if flexcan_chip_start() fails
    Date
    3.8.13.21 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Marc Kleine-Budde <mkl@pengutronix.de>

    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>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    drivers/net/can/flexcan.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
    index 663e4df..9771652 100644
    --- a/drivers/net/can/flexcan.c
    +++ b/drivers/net/can/flexcan.c
    @@ -860,12 +860,14 @@ 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;
    napi_enable(&priv->napi);
    netif_start_queue(dev);

    return 0;

    + out_free_irq:
    + free_irq(dev->irq, dev);
    out_close:
    close_candev(dev);
    out:
    --
    1.8.3.2


    \
     
     \ /
      Last update: 2014-04-01 19:01    [W:3.814 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site