diff options
author | Heiner Kallweit <hkallweit1@gmail.com> | 2020-03-16 22:33:31 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-03-18 04:58:22 +0100 |
commit | c4474fe121c975d7b3629cab1ec639dec1f55cb6 (patch) | |
tree | f644db3d63eed30670b1a79b2a25a6bcb63f5ded /drivers/net/phy/mscc | |
parent | net: phy: improve phy_driver callback handle_interrupt (diff) | |
download | linux-c4474fe121c975d7b3629cab1ec639dec1f55cb6.tar.xz linux-c4474fe121c975d7b3629cab1ec639dec1f55cb6.zip |
net: phy: mscc: consider interrupt source in interrupt handler
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>
Diffstat (limited to 'drivers/net/phy/mscc')
-rw-r--r-- | drivers/net/phy/mscc/mscc_main.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/phy/mscc/mscc_main.c b/drivers/net/phy/mscc/mscc_main.c index 4727aba8e051..2f6229a70ec1 100644 --- a/drivers/net/phy/mscc/mscc_main.c +++ b/drivers/net/phy/mscc/mscc_main.c @@ -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; } |