Hi Jiri, Benjamin, Just a quick ping on this v2 series. Have you had a chance to take a look?
Both fixes have been tested with QEMU/UHID, though not on physical hardware. I'd appreciate any feedback and would be happy to make changes or run additional tests if needed. Thanks, Aveline On 2026-09-28 18:15 +0200, Aveline Noir wrote: > This series fixes two PicoLCD locking problems. The first moves output > requests into sleepable context and serializes LED state updates. The > second breaks the last-close/deferred-worker lock dependency using a > private framebuffer update mutex. > > The first patch was tested separately with the original syzkaller C > reproducer and bounded concurrent sysfs/UHID-destroy workloads on > PREEMPT_RT. The complete series additionally passed repeated framebuffer > open/write/close and persistent-open framebuffer tests. Pre-fix modules > reproduced the respective failures. Physical hardware, prolonged stress > and suspend/resume have not been tested. > > Patch 2's Fixes tag identifies the fbdev change that began draining > deferred work from fb_release() while holding info->lock. Patch 1's Fixes > tag was checked against the upstream transport-conversion diff. > > Changes in v2: > - Address Sebastian Andrzej Siewior's feedback: clarify that the issue > is not specific to PREEMPT_RT and identify picolcd_data::lock as a > spinlock_t in patch 1. The code changes are identical to v1. > > Aveline Noir (2): > HID: picolcd: Move output requests out of spinlocked sections > HID: picolcd: Avoid framebuffer last-close deadlock > > drivers/hid/hid-picolcd.h | 4 +++ > drivers/hid/hid-picolcd_backlight.c | 7 ++-- > drivers/hid/hid-picolcd_core.c | 46 +++++++++++++++--------- > drivers/hid/hid-picolcd_fb.c | 56 ++++++++++++++++++----------- > drivers/hid/hid-picolcd_lcd.c | 7 ++-- > drivers/hid/hid-picolcd_leds.c | 31 +++++++++------- > 6 files changed, 93 insertions(+), 58 deletions(-) > > > base-commit: 72d3fcf802c45d00b300f25b848a93c3a2bd7c7e > -- > 2.55.0 >
