drivers/net/ethernet/broadcom/bgmac.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
Removes need to unregister in _remove.
Tested on ASUS RT-N16. No change in behavior.
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Tested-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
v2: added reviewed/tested-by broadcom.
drivers/net/ethernet/broadcom/bgmac.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
index 6ffdc4229407..2599ffe46e27 100644
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
@@ -1546,7 +1546,7 @@ int bgmac_enet_probe(struct bgmac *bgmac)
bgmac->in_init = false;
- err = register_netdev(bgmac->net_dev);
+ err = devm_register_netdev(bgmac->dev, bgmac->net_dev);
if (err) {
dev_err(bgmac->dev, "Cannot register net device\n");
goto err_phy_disconnect;
@@ -1568,7 +1568,6 @@ EXPORT_SYMBOL_GPL(bgmac_enet_probe);
void bgmac_enet_remove(struct bgmac *bgmac)
{
- unregister_netdev(bgmac->net_dev);
phy_disconnect(bgmac->net_dev->phydev);
netif_napi_del(&bgmac->napi);
bgmac_dma_free(bgmac);
--
2.47.0
On 13.10.2024 23:34, Rosen Penev wrote:
> Removes need to unregister in _remove.
>
> Tested on ASUS RT-N16. No change in behavior.
>
This patch changes the order of calls. unregister_netdev() is now called
only after remove(). Shouldn't there be some words about why this is safe
and doesn't e.g. possibly result in race windows?
> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
> Tested-by: Florian Fainelli <florian.fainelli@broadcom.com>
> Signed-off-by: Rosen Penev <rosenp@gmail.com>
> ---
> v2: added reviewed/tested-by broadcom.
> drivers/net/ethernet/broadcom/bgmac.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
> index 6ffdc4229407..2599ffe46e27 100644
> --- a/drivers/net/ethernet/broadcom/bgmac.c
> +++ b/drivers/net/ethernet/broadcom/bgmac.c
> @@ -1546,7 +1546,7 @@ int bgmac_enet_probe(struct bgmac *bgmac)
>
> bgmac->in_init = false;
>
> - err = register_netdev(bgmac->net_dev);
> + err = devm_register_netdev(bgmac->dev, bgmac->net_dev);
> if (err) {
> dev_err(bgmac->dev, "Cannot register net device\n");
> goto err_phy_disconnect;
> @@ -1568,7 +1568,6 @@ EXPORT_SYMBOL_GPL(bgmac_enet_probe);
>
> void bgmac_enet_remove(struct bgmac *bgmac)
> {
> - unregister_netdev(bgmac->net_dev);
> phy_disconnect(bgmac->net_dev->phydev);
> netif_napi_del(&bgmac->napi);
> bgmac_dma_free(bgmac);
© 2016 - 2026 Red Hat, Inc.