]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drivers: net: mhi: fix error path in mhi_net_newlink
authorDaniele Palmas <dnlplm@gmail.com>
Fri, 24 Sep 2021 09:26:52 +0000 (11:26 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 Sep 2021 13:25:05 +0000 (14:25 +0100)
Fix double free_netdev when mhi_prepare_for_transfer fails.

Fixes: 3ffec6a14f24 ("net: Add mhi-net driver")
Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Loic Poulain <loic.poulain@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/mhi_net.c

index d127eb6e9257f6e39acb6321ea0eb55ee64f6d5d..aaa628f859fd4f3af8591e90b9f5fe0a9e569350 100644 (file)
@@ -321,7 +321,7 @@ static int mhi_net_newlink(struct mhi_device *mhi_dev, struct net_device *ndev)
        /* Start MHI channels */
        err = mhi_prepare_for_transfer(mhi_dev);
        if (err)
-               goto out_err;
+               return err;
 
        /* Number of transfer descriptors determines size of the queue */
        mhi_netdev->rx_queue_sz = mhi_get_free_desc_count(mhi_dev, DMA_FROM_DEVICE);
@@ -331,10 +331,6 @@ static int mhi_net_newlink(struct mhi_device *mhi_dev, struct net_device *ndev)
                return err;
 
        return 0;
-
-out_err:
-       free_netdev(ndev);
-       return err;
 }
 
 static void mhi_net_dellink(struct mhi_device *mhi_dev, struct net_device *ndev)