diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2015-08-08 12:58:57 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-09-29 19:26:26 +0200 |
commit | b21ee342590aa41e21aa0196bff5af592cc349d0 (patch) | |
tree | 072370f134d4e06651f4d76ba7cd0e4b5b8cbfa2 | |
parent | 0c1122ae6107b01e50bb18fa40eb44e7fa492fbc (diff) | |
download | linux-exynos-b21ee342590aa41e21aa0196bff5af592cc349d0.tar.gz linux-exynos-b21ee342590aa41e21aa0196bff5af592cc349d0.tar.bz2 linux-exynos-b21ee342590aa41e21aa0196bff5af592cc349d0.zip |
net: dsa: Do not override PHY interface if already configured
[ Upstream commit 211c504a444710b1d8ce3431ac19f2578602ca27 ]
In case we need to divert reads/writes using the slave MII bus, we may have
already fetched a valid PHY interface property from Device Tree, and that
mode is used by the PHY driver to make configuration decisions.
If we could not fetch the "phy-mode" property, we will assign p->phy_interface
to PHY_INTERFACE_MODE_NA, such that we can actually check for that condition as
to whether or not we should override the interface value.
Fixes: 19334920eaf7 ("net: dsa: Set valid phy interface type")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | net/dsa/slave.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/dsa/slave.c b/net/dsa/slave.c index 827cda560a55..57978c5b2c91 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c @@ -732,7 +732,8 @@ static int dsa_slave_phy_connect(struct dsa_slave_priv *p, return -ENODEV; /* Use already configured phy mode */ - p->phy_interface = p->phy->interface; + if (p->phy_interface == PHY_INTERFACE_MODE_NA) + p->phy_interface = p->phy->interface; phy_connect_direct(slave_dev, p->phy, dsa_slave_adjust_link, p->phy_interface); |