]> www.infradead.org Git - users/hch/dma-mapping.git/commitdiff
net: ethernet: ti: am65-cpsw: prevent WARN_ON upon module removal
authorNicolas Pitre <npitre@baylibre.com>
Fri, 4 Oct 2024 04:10:33 +0000 (00:10 -0400)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 8 Oct 2024 08:30:30 +0000 (10:30 +0200)
In am65_cpsw_nuss_remove(), move the call to am65_cpsw_unregister_devlink()
after am65_cpsw_nuss_cleanup_ndev() to avoid triggering the
WARN_ON(devlink_port->type != DEVLINK_PORT_TYPE_NOTSET) in
devl_port_unregister(). Makes it coherent with usage in
m65_cpsw_nuss_register_ndevs()'s cleanup path.

Fixes: 58356eb31d60 ("net: ti: am65-cpsw-nuss: Add devlink support")
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/ti/am65-cpsw-nuss.c

index d253727b160f5fb83be8ef83d1dbf6795b95a20a..3fec2cd45f5ef8f6b98760c81a2b55e6e1ab48f7 100644 (file)
@@ -3652,13 +3652,13 @@ static void am65_cpsw_nuss_remove(struct platform_device *pdev)
                return;
        }
 
-       am65_cpsw_unregister_devlink(common);
        am65_cpsw_unregister_notifiers(common);
 
        /* must unregister ndevs here because DD release_driver routine calls
         * dma_deconfigure(dev) before devres_release_all(dev)
         */
        am65_cpsw_nuss_cleanup_ndev(common);
+       am65_cpsw_unregister_devlink(common);
        am65_cpsw_nuss_phylink_cleanup(common);
        am65_cpts_release(common->cpts);
        am65_cpsw_disable_serdes_phy(common);