[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c8fb4ca8-f6ef-461c-975b-09a15a43e408@lunn.ch>
Date: Wed, 7 Jun 2023 23:32:52 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Florian Fainelli <f.fainelli@...il.com>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
Heiner Kallweit <hkallweit1@...il.com>,
Christian Marangi <ansuelsmth@...il.com>,
Vladimir Oltean <olteanv@...il.com>, Pavel Machek <pavel@....cz>,
Lee Jones <lee@...nel.org>,
"linux-leds@...r.kernel.org" <linux-leds@...r.kernel.org>
Subject: Re: NPD in phy_led_set_brightness+0x3c
> There is no trigger being configured for either LED therefore it is not
> clear to me why the workqueue is being kicked in the first place?
Since setting LEDs is a sleepable action, it gets offloaded to a
workqueue.
My guess is, something in led_classdev_unregister() is triggering it,
maybe to put the LED into a known state before pulling the
plug. However, i don't see what.
I'm also wondering about ordering. The LED is registered with
devm_led_classdev_register_ext(). So maybe led_classdev_unregister()
is getting called too late? So maybe we need to replace devm_ with
manual cleanup.
However, i've done lots of reboots while developing this code, so its
interesting you can trigger this, and i've not seen it.
Andrew
Powered by blists - more mailing lists