Subject: Re: [PATCH net v3] net: ethtool: do runtime PM outside RTNL

From: Marc MERLIN <[email-masked]>
Date: Wed, 6 Dec 2023 13:39:01 -0800

On Wed, Dec 06, 2023 at 05:46:07PM +0100, Johannes Berg wrote:
> On Wed, 2023-12-06 at 08:44 -0800, Jakub Kicinski wrote:
> > On Wed,  6 Dec 2023 11:39:32 +0100 Johannes Berg wrote:
> > > As reported by Marc MERLIN, at least one driver (igc) wants or
> > > needs to acquire the RTNL inside suspend/resume ops, which can
> > > be called from here in ethtool if runtime PM is enabled.
> > > 
> > > Allow this by doing runtime PM transitions without the RTNL
> > > held. For the ioctl to have the same operations order, this
> > > required reworking the code to separately check validity and
> > > do the operation. For the netlink code, this now has to do
> > > the runtime_pm_put a bit later.
> > 
> > I was really, really hoping that this would serve as a motivation
> > for Intel to sort out the igb/igc implementation. The flow AFAICT
> > is ndo_open() starts the NIC, the calls pm_sus, which shuts the NIC
> > back down immediately (!?) then it schedules a link check from a work
> > queue, which opens it again (!?). It's a source of never ending bugs.
> 
> Well, I work there, but ... WiFi something else entirely. Marc just got
> lucky I spotted an issue in the logs ;-)
 
and I am truly thankful for the time you took to help out. It made a
huge difference for me in being able to keep a laptop that I will
probably use for the next 4 years and otherwise had to return.
Thank you for going above and beyond.

> I'll let you guys take it from here ...

As this time the first patch I got still works for me even if it's not
the most ideal way to fix this.
As you all figure out what's the best/better patch, please let me know
if you'd like me to validate/retest.

Thanks,
Marc
-- 
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
 
Home page: http://marc.merlins.org/