diff options
author | Avichal Rakesh <arakesh@google.com> | 2024-01-05 00:50:09 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-01-05 12:35:57 +0300 |
commit | 9866dc4314c6c858e451933f965d64532aec00a9 (patch) | |
tree | 96aeb09937340fe72fc765dc635f43498e9f63c8 /tools/perf/scripts/python/stackcollapse.py | |
parent | fe814b5b0f3042f1a583734497e726ee53783cc1 (diff) | |
download | linux-9866dc4314c6c858e451933f965d64532aec00a9.tar.xz |
usb: gadget: uvc: Remove nested locking
When handling error status from uvcg_video_usb_req_queue,
uvc_video_complete currently calls uvcg_queue_cancel with
video->req_lock held. uvcg_queue_cancel internally locks
queue->irqlock, which nests queue->irqlock inside
video->req_lock. This isn't a functional bug at the
moment, but does open up possibilities for ABBA
deadlocks in the future.
This patch fixes the accidental nesting by dropping
video->req_lock before calling uvcg_queue_cancel.
Fixes: 6acba0345b68 ("usb:gadget:uvc Do not use worker thread to pump isoc usb requests")
Signed-off-by: Avichal Rakesh <arakesh@google.com>
Link: https://lore.kernel.org/r/20240104215009.2252452-2-arakesh@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions