diff --git a/drivers/base/driver.c b/drivers/base/driver.c index b5fe346ba..37560fd46 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c @@ -182,6 +182,8 @@ int unregister_device(struct device_d *old_dev) dev_dbg(old_dev, "unregister\n"); + dev_remove_parameters(old_dev); + if (old_dev->driver) old_dev->bus->remove(old_dev); diff --git a/net/eth.c b/net/eth.c index 37dd9e087..8c4798c1e 100644 --- a/net/eth.c +++ b/net/eth.c @@ -380,8 +380,6 @@ void eth_unregister(struct eth_device *edev) if (edev == eth_current) eth_current = NULL; - dev_remove_parameters(&edev->dev); - if (IS_ENABLED(CONFIG_OFDEVICE) && edev->nodepath) free(edev->nodepath);