aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mvebu/patches-4.9/435-net-phy-fix-marvell-phy-status-reading.patch
blob: a39b6949a88998045d3278e026405a59dc284c12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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
@@ -1114,8 +1114,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