[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230329224736.qzidpkzkdth2lvuq@mercury.elektranox.org>
Date: Thu, 30 Mar 2023 00:47:36 +0200
From: Sebastian Reichel <sebastian.reichel@...labora.com>
To: Linus Walleij <linus.walleij@...aro.org>
Cc: Alistair <alistair@...stair23.me>, ye.xingchen@....com.cn,
pali@...nel.org, sravanhome@...il.com, linux-pm@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: power_supply_show_property Kernel Oops
Hi,
On Wed, Mar 29, 2023 at 04:43:19PM +0200, Linus Walleij wrote:
> On Wed, Mar 29, 2023 at 1:16 PM Alistair <alistair@...stair23.me> wrote:
>
> > [ 2.466136] string from vsnprintf+0x158/0x424
> > [ 2.470603] vsnprintf from vscnprintf+0x10/0x24
> > [ 2.475241] vscnprintf from sysfs_emit+0x50/0xac
> > [ 2.479975] sysfs_emit from power_supply_show_property+0x1d0/0x26c
> > [ 2.486269] power_supply_show_property from add_prop_uevent+0x30/0x8c
> > [ 2.492815] add_prop_uevent from power_supply_uevent+0xb4/0xe4
> > [ 2.498753] power_supply_uevent from dev_uevent+0xc4/0x21c
> > [ 2.504352] dev_uevent from kobject_uevent_env+0x1cc/0x510
> > [ 2.509953] kobject_uevent_env from power_supply_changed_work+0x7c/0xb4
> > [ 2.516675] power_supply_changed_work from process_one_work+0x1e8/0x3e8
> > [ 2.523396] process_one_work from worker_thread+0x2c/0x504
> > [ 2.528986] worker_thread from kthread+0xcc/0xec
> > [ 2.533716] kthread from ret_from_fork+0x14/0x24
> > [ 2.538443] Exception stack(0xf0dadfb0 to 0xf0dadff8)
>
> This looks like running a worker before something this worker is
> accessing has been set up.
>
> > As it's on a consumer device I don't have a way to connect a debugger. So I'm
> > a little stuck on what the problem is. The only related change I see between
> > 6.2 and 6.3-rc4 is commit a441f3b90a340e5c94df36c33fb7000193ee0aa7
> > "power: supply: use sysfs_emit() instead of sprintf() for sysfs show()", but
> > that doesn't look like it would cause this oops.
>
> Did you try reverting it?
Does not look like a race condition with a worker to me. The patch
adds a couple of properties to the power-supply in an incorrect way.
I did not look deeply, but it's at least missing an update to
power_supply_attrs. I guess you were 'lucky' that it did not crash
with v6.2.
None of the extra properties are acceptable upstream btw.:
POWER_SUPPLY_PROP_CURRENT_MAX2:
The driver seems to use CURRENT_MAX2 for input current;
POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT should be used for that
POWER_SUPPLY_PROP_CHARGER_MODE:
OTG should be handled via a regulator
POWER_SUPPLY_PROP_STATUS_EX:
Use extcon for connectors
Greetings,
-- Sebastian
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists