[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fa8c2fe1-23a3-4fd0-94a7-50446631c287@lunn.ch>
Date: Tue, 28 Oct 2025 23:56:30 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Alexander Duyck <alexander.duyck@...il.com>
Cc: netdev@...r.kernel.org, kuba@...nel.org, kernel-team@...a.com,
	andrew+netdev@...n.ch, hkallweit1@...il.com, linux@...linux.org.uk,
	pabeni@...hat.com, davem@...emloft.net
Subject: Re: [net-next PATCH 8/8] fbnic: Add phydev representing PMD to
 phylink setup
> > > +     phylink_resume(fbn->phylink);
> >
> > When was is suspended?
> 
> We don't use the start/stop calls. Instead we use the resume/suspend
> calls in order to deal with the fact that we normally aren't fully
> resetting the link. The first call automatically gets converted to a
> phylink_start because the bit isn't set for the MAC_WOL, however all
> subsequent setups it becomes a resume so that we aren't tearing the
> link down fully in order to avoid blocking the BMC which is sharing
> the link similar to how a WOL connection would.
/**
 * phylink_resume() - handle a network device resume event
 * @pl: a pointer to a &struct phylink returned from phylink_create()
 *
 * Undo the effects of phylink_suspend(), returning the link to an
 * operational state.
 */
There needs to be a call to phylink_suspend() before you call
phylink_resume(). If there is a prior call to phylink_suspend() all is
O.K.
Russell gets unhappy if you don't follow the documentation. The
documentation is part of the API, part of the contract. If you break
the contract, don't be surprised is your driver breaks sometime in the
future.
	Andrew
Powered by blists - more mailing lists
 
