|
@@ -263,7 +263,8 @@ static int orion_mdio_remove(struct platform_device *pdev)
|
|
struct mii_bus *bus = platform_get_drvdata(pdev);
|
|
struct mii_bus *bus = platform_get_drvdata(pdev);
|
|
struct orion_mdio_dev *dev = bus->priv;
|
|
struct orion_mdio_dev *dev = bus->priv;
|
|
|
|
|
|
- writel(0, dev->regs + MVMDIO_ERR_INT_MASK);
|
|
|
|
|
|
+ if (dev->err_interrupt > 0)
|
|
|
|
+ writel(0, dev->regs + MVMDIO_ERR_INT_MASK);
|
|
mdiobus_unregister(bus);
|
|
mdiobus_unregister(bus);
|
|
if (!IS_ERR(dev->clk))
|
|
if (!IS_ERR(dev->clk))
|
|
clk_disable_unprepare(dev->clk);
|
|
clk_disable_unprepare(dev->clk);
|