aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mvebu/patches-4.9/435-net-phy-fix-marvell-phy-status-reading.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2017-02-06 11:46:48 +0100
committerFelix Fietkau <nbd@nbd.name>2017-02-16 17:17:15 +0100
commit2bf9ea6a31736db059aa97addce3a34b933dacc1 (patch)
treeecfe628aabaf38e6bd40ca841443d19079105a83 /target/linux/mvebu/patches-4.9/435-net-phy-fix-marvell-phy-status-reading.patch
parent237454991618e0e8b7ceb8a8a2a43fca12c1a454 (diff)
downloadupstream-2bf9ea6a31736db059aa97addce3a34b933dacc1.tar.gz
upstream-2bf9ea6a31736db059aa97addce3a34b933dacc1.tar.bz2
upstream-2bf9ea6a31736db059aa97addce3a34b933dacc1.zip
mvebu: add linux 4.9 support
Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Diffstat (limited to 'target/linux/mvebu/patches-4.9/435-net-phy-fix-marvell-phy-status-reading.patch')
-rw-r--r--target/linux/mvebu/patches-4.9/435-net-phy-fix-marvell-phy-status-reading.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/target/linux/mvebu/patches-4.9/435-net-phy-fix-marvell-phy-status-reading.patch b/target/linux/mvebu/patches-4.9/435-net-phy-fix-marvell-phy-status-reading.patch
new file mode 100644
index 0000000000..f0fe26e3d0
--- /dev/null
+++ b/target/linux/mvebu/patches-4.9/435-net-phy-fix-marvell-phy-status-reading.patch
@@ -0,0 +1,26 @@
+From: Russell King <rmk+kernel@armlinux.org.uk>
+Date: Fri, 23 Dec 2016 18:54:01 +0000
+Subject: [PATCH] net: phy: fix marvell phy status reading
+
+The Marvell driver incorrectly provides phydev->lp_advertising as the
+logical and of the link partner's advert and our advert. This is
+incorrect - this field is supposed to store the link parter's unmodified
+advertisment.
+
+This allows ethtool to report the correct link partner auto-negotiation
+status.
+
+Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
+---
+
+--- a/drivers/net/phy/marvell.c
++++ b/drivers/net/phy/marvell.c
+@@ -1106,8 +1106,6 @@ static int marvell_read_status_page(stru
+ if (adv < 0)
+ return adv;
+
+- lpa &= adv;
+-
+ if (status & MII_M1011_PHY_STATUS_FULLDUPLEX)
+ phydev->duplex = DUPLEX_FULL;
+ else