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-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aa773849b84297679f4eb4b3743518856ca5b71a.camel@collabora.com>
Date:   Tue, 07 Dec 2021 14:20:28 +0000
From:   Martyn Welch <martyn.welch@...labora.com>
To:     "Russell King (Oracle)" <linux@...linux.org.uk>
Cc:     Andrew Lunn <andrew@...n.ch>,
        Vivien Didelot <vivien.didelot@...il.com>,
        Florian Fainelli <f.fainelli@...il.com>,
        Vladimir Oltean <olteanv@...il.com>,
        "David S. Miller" <davem@...emloft.net>,
        Jakub Kicinski <kuba@...nel.org>, netdev@...r.kernel.org
Subject: Re: [PATCH RFC net] net: dsa: mv88e6xxx: allow use of PHYs on CPU
 and DSA ports

On Tue, 2021-12-07 at 12:58 +0000, Russell King (Oracle) wrote:
> On Tue, Dec 07, 2021 at 12:47:35PM +0000, Martyn Welch wrote:
> > Sorry Russell, but unfortunately this patch doesn't seem to be
> > resolving the issue for me.
> > 
> > I've dumped in a bit of debug around this change to see if I could
> > determine what was going on here, it seems that in my case the
> > function
> > is being exited before this at:
> > 
> > /* FIXME: is this the correct test? If we're in fixed mode on an
> >  * internal port, why should we process this any different from
> >  * PHY mode? On the other hand, the port may be automedia between
> >  * an internal PHY and the serdes...
> >  */
> > if ((mode == MLO_AN_PHY) && mv88e6xxx_phy_is_internal(ds, port))
> >         return;
> 
> Oh, I was going to remove that, but clearly forgot, sorry. Please can
> you try again with that removed? Meanwhile, I'll update the patch at
> my end.
> 

Yes! That makes it work for me.

To be clear, the additional change I made was:


diff --git a/drivers/net/dsa/mv88e6xxx/chip.c
b/drivers/net/dsa/mv88e6xxx/chip.c
index b033e653d3f4..14f87f6ac479 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -702,14 +702,6 @@ static void mv88e6xxx_mac_config(struct dsa_switch
*ds, int port,
 
        p = &chip->ports[port];
 
-       /* FIXME: is this the correct test? If we're in fixed mode on
an
-        * internal port, why should we process this any different from
-        * PHY mode? On the other hand, the port may be automedia
between
-        * an internal PHY and the serdes...
-        */
-       if ((mode == MLO_AN_PHY) && mv88e6xxx_phy_is_internal(ds,
port))
-               return;
-
        mv88e6xxx_reg_lock(chip);
 
        if (mode != MLO_AN_PHY || !mv88e6xxx_phy_is_internal(ds, port))
{


Assuming that's also what you've done:

Tested-by: Martyn Welch <martyn.welch@...labora.com>

Thanks for your help!

Martyn

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ