]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: airoha: Remove airoha_dev_stop() in airoha_remove()
authorLorenzo Bianconi <lorenzo@kernel.org>
Fri, 13 Mar 2026 11:27:00 +0000 (12:27 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Mar 2026 10:08:54 +0000 (11:08 +0100)
[ Upstream commit d4a533ad249e9fbdc2d0633f2ddd60a5b3a9a4ca ]

Do not run airoha_dev_stop routine explicitly in airoha_remove()
since ndo_stop() callback is already executed by unregister_netdev() in
__dev_close_many routine if necessary and, doing so, we will end up causing
an underflow in the qdma users atomic counters. Rely on networking subsystem
to stop the device removing the airoha_eth module.

Fixes: 23020f0493270 ("net: airoha: Introduce ethernet support for EN7581 SoC")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20260313-airoha-remove-ndo_stop-remove-net-v2-1-67542c3ceeca@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/mediatek/airoha_eth.c

index 1dc051749603e27da411aecae72a2212b5fcebcc..da259c4b03fbf83a62133d3a27958a600ae91441 100644 (file)
@@ -2784,7 +2784,6 @@ static void airoha_remove(struct platform_device *pdev)
                if (!port)
                        continue;
 
-               airoha_dev_stop(port->dev);
                unregister_netdev(port->dev);
        }
        free_netdev(eth->napi_dev);