diff options
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.patch | 26 |
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 0000000..f0fe26e --- /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 |