Skip to content

Commit

Permalink
net: phy: turn carrier off on phy attach
Browse files Browse the repository at this point in the history
The operstate of a networking device initially IF_OPER_UNKNOWN aka
"unknown", updated on carrier state changes (with carrier state being on
by default). This means it will stay unknown unless the carrier state
goes to off at some point, which is not the case if the phy is already
up/connected at startup.

Explicitly turn off the carrier on phy attach, leaving the phy state
machine to turn the carrier on when it has done the initial negotiation.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Sjoerd Simons authored and David S. Miller committed Jan 15, 2016
1 parent 2446837 commit 113c74d
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions drivers/net/phy/phy_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -901,6 +901,11 @@ int phy_attach_direct(struct net_device *dev, struct phy_device *phydev,

phydev->state = PHY_READY;

/* Initial carrier state is off as the phy is about to be
* (re)initialized.
*/
netif_carrier_off(phydev->attached_dev);

/* Do initial configuration here, now that
* we have certain key parameters
* (dev_flags and interface)
Expand Down

0 comments on commit 113c74d

Please sign in to comment.