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)
committerJakub Kicinski <kuba@kernel.org>
Tue, 17 Mar 2026 03:06:05 +0000 (20:06 -0700)
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>
drivers/net/ethernet/airoha/airoha_eth.c

index 62bcbbb..56cf9a9 100644 (file)
@@ -3083,7 +3083,6 @@ static void airoha_remove(struct platform_device *pdev)
                if (!port)
                        continue;
 
-               airoha_dev_stop(port->dev);
                unregister_netdev(port->dev);
                airoha_metadata_dst_free(port);
        }