lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 26 Oct 2017 15:28:36 +0300
From:   Aaro Koskinen <aaro.koskinen@....fi>
To:     "David S. Miller" <davem@...emloft.net>,
        Dan Carpenter <dan.carpenter@...cle.com>,
        Andrew Lunn <andrew@...n.ch>, netdev@...r.kernel.org
Subject: [REGRESSION, BISECTED] Broken networking with net/phy/marvell

Hi,

When upgrading from v4.13 to v4.14-rc6 on OpenRD Client, the box loses
network connectivity.

Bisection points to:

commit 5987feb38aa55e035ce5376c02aba88a604cc881
Author: Dan Carpenter <dan.carpenter@...cle.com>
Date:   Fri Aug 4 11:17:21 2017 +0300

    net: phy: marvell: logical vs bitwise OR typo
    
However, it seems this commit just unhides another issue in the original
commit 864dc729d528 ("net: phy: marvell: Refactor m88e1121 RGMII delay
configuration"): when we are configuring the MSCR delay bits, we are
probably clearing the bits with a wrong mask (i.e. we might be disabling
something else not intended)...

I have tested the below change and it seems to fix the networking. Any
comments?

diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index 15cbcdb..500d7c1 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -474,7 +474,7 @@ static int m88e1121_config_aneg_rgmii_delays(struct phy_device *phydev)
 		goto out;
 	}
 
-	mscr &= MII_88E1121_PHY_MSCR_DELAY_MASK;
+	mscr &= ~MII_88E1121_PHY_MSCR_DELAY_MASK;
 
 	if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID)
 		mscr |= (MII_88E1121_PHY_MSCR_RX_DELAY |

A.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ