summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-05-21 12:26:05 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-05-21 12:26:05 +0200
commitd5f4d0d2d7fcaa68adf12e470177c29aa818a421 (patch)
tree5eef63b509ef0490046734a56043138dc8500947
parentab6dc9a6c721c2eed867c157447764ae68ff9b7e (diff)
parent0f73628e9da1ee39daf5f188190cdbaee5e0c98c (diff)
Merge tag 'thunderbolt-for-v6.15-rc7' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt into usb-next
Mika writes: thunderbolt: Fix for v6.15-rc7 This includes a single USB4/Thunderbolt fix for v6.15-rc7: - Prevent crash in tb_cfg_request_dequeue(). This has been in linux-next with no reported issues. * tag 'thunderbolt-for-v6.15-rc7' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt: thunderbolt: Do not double dequeue a configuration request
-rw-r--r--drivers/thunderbolt/ctl.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/thunderbolt/ctl.c b/drivers/thunderbolt/ctl.c
index cd15e84c47f4..1db2e951b53f 100644
--- a/drivers/thunderbolt/ctl.c
+++ b/drivers/thunderbolt/ctl.c
@@ -151,6 +151,11 @@ static void tb_cfg_request_dequeue(struct tb_cfg_request *req)
struct tb_ctl *ctl = req->ctl;
mutex_lock(&ctl->request_queue_lock);
+ if (!test_bit(TB_CFG_REQUEST_ACTIVE, &req->flags)) {
+ mutex_unlock(&ctl->request_queue_lock);
+ return;
+ }
+
list_del(&req->list);
clear_bit(TB_CFG_REQUEST_ACTIVE, &req->flags);
if (test_bit(TB_CFG_REQUEST_CANCELED, &req->flags))