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

From: Stanislaw Gruszka <[email-masked]>
Date: Wed, 3 Jan 2024 09:20:23 +0100

On Wed, Dec 06, 2023 at 12:59:09PM +0100, Heiner Kallweit wrote:
> On 06.12.2023 10:37, Johannes Berg wrote:
> > On Wed, 2023-12-06 at 09:46 +0100, Przemek Kitszel wrote:
> >>
> >> That sounds right too; one could argue if your fix is orthogonal to that
> >> or not. I would say that your fix makes core net code more robust
> >> against drivers from past millennia. :)
> >> igc folks are notified, no idea how much time it would take to propose
> >> a fix.
> > 
> > Maybe it should be on whoever added runtime pm to ethtool ;-)
> > 
> > Heiner, the igc driver was already doing this when you added
> > pm_runtime_get_sync() ops, was there a discussion at the time, or just
> > missed?
> > 
> I think it went unnoticed at that time that igc is acquiring RTNL
> in runtime-resume. I'm just astonished that this pops up only now,
> considering that the change was done more than 2 yrs ago.

PM runtime is disabled by default for igc (driver do not call
pm_runtime_allow()). It has to be enabled explicitly by user write
to pci sysfs power/control file. And after that link up/down or
ethtool has to be used to trigger this deadlock, so quite unlikely
scenario.

Is possible though, that some power saving daemon start enabling
pm runtime for devices, so that why issue become visible.

Regards
Stanislaw