Message ID | 14496a42-6203-b601-f301-91d28bedb09f@gmail.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | net: phy: improve phy_driver callback handle_interrupt | expand |
diff --git a/drivers/net/phy/mscc/mscc_main.c b/drivers/net/phy/mscc/mscc_main.c index 4727aba8e..2f6229a70 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; }
Trigger the respective interrupt handler functionality only if the related interrupt source bit is set. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> --- drivers/net/phy/mscc/mscc_main.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)