net: phy: mscc: consider interrupt source in interrupt handler
authorHeiner Kallweit <hkallweit1@gmail.com>
Mon, 16 Mar 2020 21:33:31 +0000 (22:33 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Mar 2020 03:58:22 +0000 (20:58 -0700)
Trigger the respective interrupt handler functionality only if the
related interrupt source bit is set.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/mscc/mscc_main.c

index 4727aba..2f6229a 100644 (file)
@@ -1437,8 +1437,11 @@ static irqreturn_t vsc8584_handle_interrupt(struct phy_device *phydev)
        if (irq_status < 0 || !(irq_status & MII_VSC85XX_INT_MASK_MASK))
                return IRQ_NONE;
 
-       vsc8584_handle_macsec_interrupt(phydev);
-       phy_mac_interrupt(phydev);
+       if (irq_status & MII_VSC85XX_INT_MASK_EXT)
+               vsc8584_handle_macsec_interrupt(phydev);
+
+       if (irq_status & MII_VSC85XX_INT_MASK_LINK_CHG)
+               phy_mac_interrupt(phydev);
 
        return IRQ_HANDLED;
 }