Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1309648 > unrolled thread

[PATCH] net: phy: turn carrier off on phy attach

Started bySjoerd Simons <sjoerd.simons@collabora.co.uk>
First post2016-01-14 22:00 +0100
Last post2016-01-15 21:00 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] net: phy: turn carrier off on phy attach Sjoerd Simons <sjoerd.simons@collabora.co.uk> - 2016-01-14 22:00 +0100
    Re: [PATCH] net: phy: turn carrier off on phy attach David Miller <davem@davemloft.net> - 2016-01-15 21:00 +0100

#1309648 — [PATCH] net: phy: turn carrier off on phy attach

FromSjoerd Simons <sjoerd.simons@collabora.co.uk>
Date2016-01-14 22:00 +0100
Subject[PATCH] net: phy: turn carrier off on phy attach
Message-ID<qQX9T-3VA-11@gated-at.bofh.it>
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>

---

 drivers/net/phy/phy_device.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index 0bfbaba..0b407dd 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -668,6 +668,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)
-- 
2.7.0.rc3

[toc] | [next] | [standalone]


#1310427

FromDavid Miller <davem@davemloft.net>
Date2016-01-15 21:00 +0100
Message-ID<qRiHp-2fB-19@gated-at.bofh.it>
In reply to#1309648
From: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Date: Thu, 14 Jan 2016 21:57:18 +0100

> 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>

Applied, thank you.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web