From: Russell King rmk+kernel@armlinux.org.uk
This patch has been added to the stable tree. If you have any objections, please let us know.
===============
[ Upstream commit 898805e0cdf7fd860ec21bf661d3a0285a3defbd ]
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.
Fixes: be937f1f89ca ("Marvell PHY m88e1111 driver fix") Signed-off-by: Russell King rmk+kernel@armlinux.org.uk Reviewed-by: Andrew Lunn andrew@lunn.ch Reviewed-by: Florian Fainelli f.fainelli@gmail.com Signed-off-by: David S. Miller davem@davemloft.net Signed-off-by: Sasha Levin alexander.levin@microsoft.com --- drivers/net/phy/marvell.c | 2 -- 1 file changed, 2 deletions(-)
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c index 1b1698f98818..9c582da5a08e 100644 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -763,8 +763,6 @@ static int marvell_read_status(struct phy_device *phydev) if (adv < 0) return adv;
- lpa &= adv; - if (status & MII_M1011_PHY_STATUS_FULLDUPLEX) phydev->duplex = DUPLEX_FULL; else