drivers: net: xgene: disable napi when register irq failed in xgene_enet_open()

[ Upstream commit ce9e57feee ]

When failed to register irq in xgene_enet_open() for opening device,
napi isn't disabled. When open xgene device next time, it will reports
a invalid opcode issue. Fix it. Only be compiled, not be tested.

Fixes: aeb20b6b3f ("drivers: net: xgene: fix: ifconfig up/down crash")
Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>
Link: https://lore.kernel.org/r/20221107043032.357673-1-shaozhengchao@huawei.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Zhengchao Shao 2022-11-07 12:30:32 +08:00 коммит произвёл Greg Kroah-Hartman
Родитель 4689bd3a1b
Коммит c36e9e2c4a
1 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -1004,8 +1004,10 @@ static int xgene_enet_open(struct net_device *ndev)
xgene_enet_napi_enable(pdata); xgene_enet_napi_enable(pdata);
ret = xgene_enet_register_irq(ndev); ret = xgene_enet_register_irq(ndev);
if (ret) if (ret) {
xgene_enet_napi_disable(pdata);
return ret; return ret;
}
if (ndev->phydev) { if (ndev->phydev) {
phy_start(ndev->phydev); phy_start(ndev->phydev);