[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170524134021.GA26577@lunn.ch>
Date: Wed, 24 May 2017 15:40:21 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Timur Tabi <timur@...eaurora.org>
Cc: Matthias May <matthias.may@...atec.com>,
Zefir Kurtisi <zefir.kurtisi@...atec.com>,
netdev@...r.kernel.org, f.fainelli@...il.com,
David Miller <davem@...emloft.net>,
Manoj Iyer <manoj.iyer@...onical.com>, jhugo@...eaurora.org
Subject: Re: [PATCH 2/2] at803x: double check SGMII side autoneg
> >Since aneg is mandatory for SGMII this can as well be seen as "link not up", not?
>
> The problem is that even though the link is up, the driver has
> returned "0", so the kernel thinks that autonegotiation has not
> finished.
You need to prove this, that the link is not up. Any by link, we mean
both the copper and the SGMII link.
> at803x_aneg_done() is never called again, and so I think
> the kernel is disabling the interface is some secret way.
Well, the driver has told the core that the link is not up. So the
kernel is waiting for another interrupt indicating the link has gone
up. And probably, this second interrupt never happens.
And it is not disabling the interface. Since the PHY is still down,
the core has not called netif_carrier_on().
Andrew
Powered by blists - more mailing lists