diff options
| author | Tristan Madani <tristan@talencesecurity.com> | 2026-09-04 10:58:00 +0000 |
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.com> | 2026-09-11 17:45:43 +0200 |
| commit | abd24922c2a9797d6184be0561dd85e7bcdfd091 (patch) | |
| tree | 02d9ca1b7afbdbd47a31d9d609ea14b51680fcb2 /tools/perf/tests/shell/test_stackcollapse_python.sh | |
| parent | 39e8e085710a2d36d9ceade11739fb7b87f5aeb0 (diff) | |
| download | linux-next-abd24922c2a9797d6184be0561dd85e7bcdfd091.tar.gz linux-next-abd24922c2a9797d6184be0561dd85e7bcdfd091.zip | |
HID: hid-oxp: use cancel_delayed_work_sync() in remove
oxp_hid_remove() uses cancel_delayed_work() for all three delayed work
items. cancel_delayed_work() only dequeues a pending work item without
waiting for a currently executing callback to finish. If any of the
work callbacks (oxp_rgb_queue_fn, oxp_btn_queue_fn, oxp_mcu_init_fn) is
running at the time of removal, the callback continues executing
concurrently with hid_hw_close() and hid_hw_stop(), accessing the HID
device after it has been closed and stopped.
Use cancel_delayed_work_sync() instead to ensure that any in-progress
work callback completes before device teardown proceeds.
Fixes: 84910c459d65 ("HID: hid-oxp: Add OneXPlayer configuration driver")
Cc: stable@vger.kernel.org
Signed-off-by: Tristan Madani <tristan@talencesecurity.com>
Reviewed-by: Derek J. Clark <derekjohn.clark@gmail.com>
Link: https://lore.kernel.org/r/20260804-oxp-fix-v2-1-b2d56e4c8a2c@cherr.cc
Link: https://lore.kernel.org/r/20260804-oxp-fix-v1-1-51a4fe787167@cherr.cc
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Diffstat (limited to 'tools/perf/tests/shell/test_stackcollapse_python.sh')
0 files changed, 0 insertions, 0 deletions
