summaryrefslogtreecommitdiff
path: root/drivers/net/phy/phy.c
diff options
context:
space:
mode:
authorWolfram Sang <wsa@the-dreams.de>2020-03-26 12:09:58 +0100
committerWolfram Sang <wsa@the-dreams.de>2020-03-26 12:09:58 +0100
commit6d7e0a34206d4a5d0c619c0608eae57f4c557064 (patch)
tree8024562a9ba37065989414731f5132b3dcc67012 /drivers/net/phy/phy.c
parent90224e6468e15d5eb22a10ae1849cf8ca2e7360a (diff)
parent16fbf79b0f83bc752cee8589279f1ebfe57b3b6e (diff)
Merge tag 'v5.6-rc7' into i2c/for-5.7
Linux 5.6-rc7
Diffstat (limited to 'drivers/net/phy/phy.c')
-rw-r--r--drivers/net/phy/phy.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index d76e038cf2cb..355bfdef48d2 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -727,7 +727,8 @@ static irqreturn_t phy_interrupt(int irq, void *phy_dat)
phy_trigger_machine(phydev);
}
- if (phy_clear_interrupt(phydev))
+ /* did_interrupt() may have cleared the interrupt already */
+ if (!phydev->drv->did_interrupt && phy_clear_interrupt(phydev))
goto phy_err;
return IRQ_HANDLED;