lkml.org 
[lkml]   [2020]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.7 106/163] net: macb: Only disable NAPI on the actual error path
    Date
    From: Charles Keepax <ckeepax@opensource.cirrus.com>

    [ Upstream commit 939a5bf7c9b7a1ad9c5d3481c93766a522773531 ]

    A recent change added a disable to NAPI into macb_open, this was
    intended to only happen on the error path but accidentally applies
    to all paths. This causes NAPI to be disabled on the success path, which
    leads to the network to no longer functioning.

    Fixes: 014406babc1f ("net: cadence: macb: disable NAPI on error")
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Tested-by: Corentin Labbe <clabbe@baylibre.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/cadence/macb_main.c | 9 ++++-----
    1 file changed, 4 insertions(+), 5 deletions(-)

    --- a/drivers/net/ethernet/cadence/macb_main.c
    +++ b/drivers/net/ethernet/cadence/macb_main.c
    @@ -2565,15 +2565,14 @@ static int macb_open(struct net_device *
    if (bp->ptp_info)
    bp->ptp_info->ptp_init(dev);

    + return 0;
    +
    napi_exit:
    for (q = 0, queue = bp->queues; q < bp->num_queues; ++q, ++queue)
    napi_disable(&queue->napi);
    pm_exit:
    - if (err) {
    - pm_runtime_put_sync(&bp->pdev->dev);
    - return err;
    - }
    - return 0;
    + pm_runtime_put_sync(&bp->pdev->dev);
    + return err;
    }

    static int macb_close(struct net_device *dev)

    \
     
     \ /
      Last update: 2020-06-16 18:08    [W:3.611 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site