[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f8978a4a-aa9d-4f36-ab40-5068f859bfec@lunn.ch>
Date: Thu, 29 Aug 2024 16:59:21 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Jakub Kicinski <kuba@...nel.org>
Cc: Jijie Shao <shaojijie@...wei.com>, davem@...emloft.net,
edumazet@...gle.com, pabeni@...hat.com, shenjian15@...wei.com,
wangpeiyang1@...wei.com, liuyonglong@...wei.com,
chenhao418@...wei.com, sudongming1@...wei.com,
xujunsheng@...wei.com, shiyongbang@...wei.com, libaihan@...wei.com,
jdamato@...tly.com, horms@...nel.org, jonathan.cameron@...wei.com,
shameerali.kolothum.thodi@...wei.com, salil.mehta@...wei.com,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH V5 net-next 05/11] net: hibmcge: Implement some .ndo
functions
On Thu, Aug 29, 2024 at 07:43:39AM -0700, Jakub Kicinski wrote:
> On Thu, 29 Aug 2024 10:40:07 +0800 Jijie Shao wrote:
> > on 2024/8/29 9:39, Jakub Kicinski wrote:
> > > On Tue, 27 Aug 2024 21:14:49 +0800 Jijie Shao wrote:
> > >> +static int hbg_net_open(struct net_device *dev)
> > >> +{
> > >> + struct hbg_priv *priv = netdev_priv(dev);
> > >> +
> > >> + if (test_and_set_bit(HBG_NIC_STATE_OPEN, &priv->state))
> > >> + return 0;
> > >> +
> > >> + netif_carrier_off(dev);
> > > Why clear the carrier during open? You should probably clear it once on
> > > the probe path and then on stop.
> >
> > In net_open(), the GMAC is not ready to receive or transmit packets.
> > Therefore, netif_carrier_off() is called.
> >
> > Packets can be received or transmitted only after the PHY is linked.
> > Therefore, netif_carrier_on() should be called in adjust_link.
>
> But why are you calling _off() during .ndo_open() ?
> Surely the link is also off before ndo_open is called?
I wounder what driver they copied?
The general trend is .probe() calls netif_carrier_off(). After than,
phylib/phylink is in control of the carrier and the MAC driver does
not touch it. in fact, when using phylink, if you try to change the
carrier, you will get SHOUTED at from Russell.
Andrew
Powered by blists - more mailing lists