aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.4/950-1031-net-lan78xx-Ack-pending-PHY-ints-when-resetting.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-1031-net-lan78xx-Ack-pending-PHY-ints-when-resetting.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-1031-net-lan78xx-Ack-pending-PHY-ints-when-resetting.patch6
1 files changed, 3 insertions, 3 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-1031-net-lan78xx-Ack-pending-PHY-ints-when-resetting.patch b/target/linux/bcm27xx/patches-5.4/950-1031-net-lan78xx-Ack-pending-PHY-ints-when-resetting.patch
index 2dc2a13cb7..b2e7b7ee95 100644
--- a/target/linux/bcm27xx/patches-5.4/950-1031-net-lan78xx-Ack-pending-PHY-ints-when-resetting.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-1031-net-lan78xx-Ack-pending-PHY-ints-when-resetting.patch
@@ -23,10 +23,10 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@@ -1181,6 +1181,9 @@ static int lan78xx_link_reset(struct lan
if (unlikely(ret < 0))
return -EIO;
-
+
+ /* Acknowledge any pending PHY interrupt, lest it be the last */
+ phy_read(phydev, LAN88XX_INT_STS);
+
+ mutex_lock(&phydev->lock);
phy_read_status(phydev);
-
- if (!phydev->link && dev->link_on) {
+ link = phydev->link;