--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
-@@ -980,7 +980,10 @@ void phy_state_machine(struct work_struc
+@@ -913,7 +913,10 @@ void phy_state_machine(struct work_struc
/* If the link is down, give up on negotiation for now */
if (!phydev->link) {
phydev->state = PHY_NOLINK;
break;
}
-@@ -1067,7 +1070,10 @@ void phy_state_machine(struct work_struc
+@@ -1000,7 +1003,10 @@ void phy_state_machine(struct work_struc
phy_link_up(phydev);
} else {
phydev->state = PHY_NOLINK;
}
if (phy_interrupt_is_valid(phydev))
-@@ -1077,7 +1083,10 @@ void phy_state_machine(struct work_struc
+@@ -1010,7 +1016,10 @@ void phy_state_machine(struct work_struc
case PHY_HALTED:
if (phydev->link) {
phydev->link = 0;
break;
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -412,6 +412,7 @@ struct phy_device {
- bool suspended;
+@@ -414,6 +414,7 @@ struct phy_device {
+ bool suspended_by_mdio_bus;
bool sysfs_links;
bool loopback_enabled;
+ bool no_auto_carrier_off;