Pārlūkot izejas kodu

net: phy: Use interrupts when available in NOLINK state

The NOLINK state will poll the phy once a second to see if the link
has come up. If the phy has an interrupt line, this polling can be
skipped, since the phy should interrupt when the link returns.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Andrew Lunn 10 gadi atpakaļ
vecāks
revīzija
321beec504
1 mainītis faili ar 3 papildinājumiem un 0 dzēšanām
  1. 3 0
      drivers/net/phy/phy.c

+ 3 - 0
drivers/net/phy/phy.c

@@ -863,6 +863,9 @@ void phy_state_machine(struct work_struct *work)
 			needs_aneg = true;
 			needs_aneg = true;
 		break;
 		break;
 	case PHY_NOLINK:
 	case PHY_NOLINK:
+		if (phy_interrupt_is_valid(phydev))
+			break;
+
 		err = phy_read_status(phydev);
 		err = phy_read_status(phydev);
 		if (err)
 		if (err)
 			break;
 			break;