[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAD56B7d5d+-OOvn0MOUz7O14QFs20CWgO9UVBx=VJobfqTfnag@mail.gmail.com>
Date: Mon, 16 Sep 2019 15:07:25 -0400
From: Paul Thomas <pthomas8589@...il.com>
To: Andrew Lunn <andrew@...n.ch>
Cc: Florian Fainelli <f.fainelli@...il.com>,
Heiner Kallweit <hkallweit1@...il.com>,
"David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org
Subject: Re: net: phy: micrel KSZ9031 ifdown ifup issue
On Mon, Sep 16, 2019 at 11:13 AM Andrew Lunn <andrew@...n.ch> wrote:
>
> > When it is in the good state I see that reg 0x01 is 0x796d where bit
> > 1.2 reports 'Link is up' and bit 1.5 reports 'Auto-negotiation process
> > complete'. However, once I get to the bad state (it may take several
> > tries of ifdown, ifup to get there) then reg 0x01 is 0x7649 reporting
> > 'Link is down' and 'Auto-negotiation process not completed'. This can
> > be fixed by resetting the phy './phytool write eth0/3/0 0x9140'
> >
> > So, I guess that means the driver is doing what it is supposed to?
> > Could we add quirk or something to reset the phy again from the driver
> > if auto-negotiation doesn't complete with x seconds?
>
> Hi Paul
>
> Adding a timeout would make sense. But please try to hide all this
> inside the PHY driver. Since it is being polled, the read_status()
> should be called once per second, so you should be able to handle all
> this inside that driver callback.
Thanks Andrew,
It looks like there are more issues than just the auto-negotiation.
Even when the negotiated link comes back I never see any more rx
packets from the macb driver. I'll look into this more.
thanks,
Paul
Powered by blists - more mailing lists