[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ZUZ7gAXs0/gDRbIc@shell.armlinux.org.uk>
Date: Sat, 4 Nov 2023 17:12:32 +0000
From: "Russell King (Oracle)" <linux@...linux.org.uk>
To: Andrew Lunn <andrew@...n.ch>
Cc: Klaus Kudielka <klaus.kudielka@...il.com>,
"David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, netdev <netdev@...r.kernel.org>
Subject: Re: [PATCH] leds: triggers: netdev: add a check, whether device is up
On Sat, Nov 04, 2023 at 05:41:54PM +0100, Andrew Lunn wrote:
> [Changes the Cc: list. Dropping LED people, adding a few netdev
> people]
>
> On Sat, Nov 04, 2023 at 04:27:45PM +0100, Klaus Kudielka wrote:
> > After booting, the device is down, but netdev trigger reports "link" active.
> > This looks wrong to me.
> >
> > I can then "ip link set eth2 up", and the "link" goes away - as I
> > would have expected it to be from the beginning.
>
> Thanks for the details.
>
> A brain dump...
>
> You do see a lot of MAC drivers doing a netif_carrier_off() in there
> probe function. That suggests the carrier is on by default. I doubt we
> can change that, we would break all the drivers which assume the
> carrier is on by default, probably virtual devices and some real
> devices.
Note that one of the things that phylink will do is call
netif_carrier_off() when phylink_start() is called to ensure that the
netdev state matches its internal state.
> Often the MAC and PHY are connected in the open() callback, when using
> phylib. So that is too late. phylink_create() is however mostly used
> in the probe function. So it could set the carrier to off by default.
> Russell, what do you think?
I was going to ask whether that would be a good idea - since it means
that the carrier is in the right state at probe time as well as after
phylink_start() has been called.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
Powered by blists - more mailing lists