OSDN Git Service

net: mvmdio: disable interrupts in driver failure path
authorRussell King <rmk+kernel@armlinux.org.uk>
Mon, 10 Apr 2017 15:28:04 +0000 (16:28 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 13 Apr 2017 14:59:11 +0000 (10:59 -0400)
When the mvmdio driver has an interrupt, it enables the "done" interrupt
after requesting its interrupt handler.  However, probe failure results
in the interrupt being left enabled.  Disable it on the failure path.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvmdio.c

index a0d1b08..7aea0be 100644 (file)
@@ -251,6 +251,8 @@ static int orion_mdio_probe(struct platform_device *pdev)
        return 0;
 
 out_mdio:
+       if (dev->err_interrupt > 0)
+               writel(0, dev->regs + MVMDIO_ERR_INT_MASK);
        if (!IS_ERR(dev->clk))
                clk_disable_unprepare(dev->clk);
        return ret;