Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b27393ae authored by Bin Liu's avatar Bin Liu Committed by David S. Miller
Browse files

net: ethernet: fix kernel OOPS when remove davinci_mdio module



davinci mdio device is not unregistered from mdiobus when removing
the module, which causes BUG_ON() when free the device from mdiobus.

Calling mdiobus_unregister() before mdiobus_free() fixes the issue.

Signed-off-by: default avatarBin Liu <b-liu@ti.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 599901c3
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -394,8 +394,10 @@ static int __devexit davinci_mdio_remove(struct platform_device *pdev)
	struct device *dev = &pdev->dev;
	struct davinci_mdio_data *data = dev_get_drvdata(dev);

	if (data->bus)
	if (data->bus) {
		mdiobus_unregister(data->bus);
		mdiobus_free(data->bus);
	}

	if (data->clk)
		clk_put(data->clk);