]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: mv643xx_eth: disable napi when init rxq or txq failed in mv643xx_eth_open()
authorZhengchao Shao <shaozhengchao@huawei.com>
Wed, 9 Nov 2022 02:54:32 +0000 (10:54 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Nov 2022 08:57:13 +0000 (09:57 +0100)
[ Upstream commit f111606b63ff2282428ffbac0447c871eb957b6c ]

When failed to init rxq or txq in mv643xx_eth_open() for opening device,
napi isn't disabled. When open mv643xx_eth device next time, it will
trigger a BUG_ON() in napi_enable(). Compile tested only.

Fixes: 2257e05c1705 ("mv643xx_eth: get rid of receive-side locking")
Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>
Link: https://lore.kernel.org/r/20221109025432.80900-1-shaozhengchao@huawei.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/marvell/mv643xx_eth.c

index 90e6111ce534dba7f16de983549ade748890124c..735b76effc49220e61d8c7e6ac58ab9f796c366e 100644 (file)
@@ -2471,6 +2471,7 @@ out_free:
        for (i = 0; i < mp->rxq_count; i++)
                rxq_deinit(mp->rxq + i);
 out:
+       napi_disable(&mp->napi);
        free_irq(dev->irq, dev);
 
        return err;