lkml.org 
[lkml]   [2020]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.7 113/124] net: gemini: Fix missing free_netdev() in error path of gemini_ethernet_port_probe()
    Date
    From: Wang Hai <wanghai38@huawei.com>

    [ Upstream commit cf96d977381d4a23957bade2ddf1c420b74a26b6 ]

    Replace alloc_etherdev_mq with devm_alloc_etherdev_mqs. In this way,
    when probe fails, netdev can be freed automatically.

    Fixes: 4d5ae32f5e1e ("net: ethernet: Add a driver for Gemini gigabit ethernet")
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Wang Hai <wanghai38@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/cortina/gemini.c | 4 +---
    1 file changed, 1 insertion(+), 3 deletions(-)

    diff --git a/drivers/net/ethernet/cortina/gemini.c b/drivers/net/ethernet/cortina/gemini.c
    index 5359fb40578db..e641890e9702f 100644
    --- a/drivers/net/ethernet/cortina/gemini.c
    +++ b/drivers/net/ethernet/cortina/gemini.c
    @@ -2388,7 +2388,7 @@ static int gemini_ethernet_port_probe(struct platform_device *pdev)

    dev_info(dev, "probe %s ID %d\n", dev_name(dev), id);

    - netdev = alloc_etherdev_mq(sizeof(*port), TX_QUEUE_NUM);
    + netdev = devm_alloc_etherdev_mqs(dev, sizeof(*port), TX_QUEUE_NUM, TX_QUEUE_NUM);
    if (!netdev) {
    dev_err(dev, "Can't allocate ethernet device #%d\n", id);
    return -ENOMEM;
    @@ -2520,7 +2520,6 @@ static int gemini_ethernet_port_probe(struct platform_device *pdev)
    }

    port->netdev = NULL;
    - free_netdev(netdev);
    return ret;
    }

    @@ -2529,7 +2528,6 @@ static int gemini_ethernet_port_remove(struct platform_device *pdev)
    struct gemini_ethernet_port *port = platform_get_drvdata(pdev);

    gemini_port_remove(port);
    - free_netdev(port->netdev);
    return 0;
    }

    --
    2.25.1


    \
     
     \ /
      Last update: 2020-08-24 11:44    [W:3.376 / U:0.544 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site