[PATCH v2 0/2] usb: gadget: avoid warnings during configuration transitions
From: Keisuke Tsukuda <hidden>
Date: 2026-09-08 20:33:56
Also in:
lkml
Rapidly alternating SET_CONFIGURATION requests can overtake the mass-storage function's asynchronous configuration work. This exposes two states that are handled safely but currently produce kernel warnings: a delayed-status completion after reset_config() cleared its counter, and a class request while common->fsg is not installed. The first patch keeps the obsolete completion as a dynamic-debug diagnostic. The second avoids the warning only in fsg_setup(), where the request is already rejected with -EOPNOTSUPP; warnings in other internal f_mass_storage paths remain unchanged. Both reports reproduce on an ARM64 Ubuntu 6.8 VM using dummy_hcd. With both patches loaded, five 10-second, four-thread runs produced no WARNING, BUG, or Oops. In a separate run, a kprobe observed five calls to usb_composite_setup_continue() with delayed_status == 0 while the target warning remained absent. syzbot tested the v1 code on usb-testing commit edc1518454f6439e50a9220e9a3ba09044ea8d8b and reported OK after a 50-minute run: https://syzkaller.appspot.com/bug?extid=a83a5a1ba9ff57935171 Changes in v2: - Add a comment in fsg_setup() explaining why fsg_is_set() must not be used for this check, as requested by Alan Stern. - No executable code changes; patch 1 is unchanged. Keisuke Tsukuda (2): usb: gadget: composite: avoid warning on aborted delayed status usb: gadget: f_mass_storage: ignore class requests while inactive drivers/usb/gadget/composite.c | 2 +- drivers/usb/gadget/function/f_mass_storage.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) -- 2.50.1 (Apple Git-155)