• Mans Rullgard's avatar
    backlight: led_bl: Take led_access lock when required · a33677b9
    Mans Rullgard authored
    The led_access lock must be held when calling led_sysfs_enable() and
    led_sysfs_disable().  This fixes warnings such as this:
    
    [    2.432495] ------------[ cut here ]------------
    [    2.437316] WARNING: CPU: 0 PID: 22 at drivers/leds/led-core.c:349 led_sysfs_disable+0x54/0x58
    [    2.446105] Modules linked in:
    [    2.449218] CPU: 0 PID: 22 Comm: kworker/u2:1 Not tainted 6.3.8+ #1
    [    2.456268] Hardware name: Generic AM3517 (Flattened Device Tree)
    [    2.462402] Workqueue: events_unbound deferred_probe_work_func
    [    2.468353]  unwind_backtrace from show_stack+0x10/0x14
    [    2.473632]  show_stack from dump_stack_lvl+0x24/0x2c
    [    2.478759]  dump_stack_lvl from __warn+0x9c/0xc4
    [    2.483551]  __warn from warn_slowpath_fmt+0x64/0xc0
    [    2.488586]  warn_slowpath_fmt from led_sysfs_disable+0x54/0x58
    [    2.494567]  led_sysfs_disable from led_bl_probe+0x20c/0x3b0
    [    2.500305]  led_bl_probe from platform_probe+0x5c/0xb8
    [    2.505615]  platform_probe from really_probe+0xc8/0x2a0
    [    2.510986]  really_probe from __driver_probe_device+0x88/0x19c
    [    2.516967]  __driver_probe_device from driver_probe_device+0x30/0xcc
    [    2.523498]  driver_probe_device from __device_attach_driver+0x94/0xc4
    [    2.530090]  __device_attach_driver from bus_for_each_drv+0x80/0xcc
    [    2.536437]  bus_for_each_drv from __device_attach+0xf8/0x19c
    [    2.542236]  __device_attach from bus_probe_device+0x8c/0x90
    [    2.547973]  bus_probe_device from deferred_probe_work_func+0x80/0xb0
    [    2.554504]  deferred_probe_work_func from process_one_work+0x228/0x4c0
    [    2.561187]  process_one_work from worker_thread+0x1fc/0x4d0
    [    2.566925]  worker_thread from kthread+0xb4/0xd0
    [    2.571685]  kthread from ret_from_fork+0x14/0x2c
    [    2.576446] Exception stack(0xd0079fb0 to 0xd0079ff8)
    [    2.581573] 9fa0:                                     00000000 00000000 00000000 00000000
    [    2.589813] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [    2.598052] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000
    [    2.604888] ---[ end trace 0000000000000000 ]---
    Signed-off-by: default avatarMans Rullgard <mans@mansr.com>
    Reviewed-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
    Link: https://lore.kernel.org/r/20230619160249.10414-1-mans@mansr.comSigned-off-by: default avatarLee Jones <lee@kernel.org>
    a33677b9
led_bl.c 5.82 KB