[Letux-kernel] weird problem with pwm_bl on omap3
H. Nikolaus Schaller
hns at goldelico.com
Tue May 29 17:41:53 CEST 2018
> Am 17.05.2018 um 20:08 schrieb Tony Lindgren <tony at atomide.com>:
> * H. Nikolaus Schaller <hns at goldelico.com> [180517 12:17]:
>> Hi Tony,
>> we are using for long time the dmtimer/pwm on
>> the GTA04 to drive the display panel backlight.
>> Starting a while ago (I am not sure when, but it may
>> be 4.17-rc1), the device randomly fails to boot
>> with a NULL pointer dereference in strcmp().
>> Booting again usually runs fine.
> Hmm maybe enable CONFIG_DEBUG_SLAB=y and POISON options
> and see if that catches something. It's might be some
> array out of bounds type issue.
I have restarted hunting the issue but it is very
ghostly. Every time I try to test by another method
it disappears and if I remove my printk things or
/etc/modprobe/blacklist.conf it comes back.
And I tried a bisect but I might not have properly
detected good/bad and the result points to a commit
that is very unlikely to make the problem (some patch
for file system flags).
Because it seems to depend on the probe/deferred probe
sequence so it is clearly some race somewhere and I
am not sure if the pwm_bl is really the source of the
problem or just happens to do probing at the same moment
when something else goes wrong.
I also had another strange effect that sometimes
only 6 or 7 kernel modules were loaded and shown
by lsmod. And when I did "modprobe omapdss" it did
try to load the pwm_bl again several times.
Now after running several more boot sequences I did
several times have problems in the generic-adc-battery
driver and just some minutes ago in the bq27xxx
driver as well. Both are problems in power_supply_changed_work.
Every time it is an unexpected NULL pointer dereference
happening around the moment where pwm_bl is probed.
At the moment it looks as if *all* such problems occur
in some worker_thread...
Next I'll try the CONFIG_DEBUG_SLAB and POISON options.
More information about the Letux-kernel