summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-10-18 08:13:58 -1000
committerLinus Torvalds <torvalds@linux-foundation.org>2026-10-18 08:13:58 -1000
commita0ff06b3a7bd3aa0cd99d0294e60b3ed28c9bfac (patch)
treeb1d35d8f38785f0def4b3486dac5dc2b108c05c6 /drivers
parent53cbbb09c1b87425cd7184f81ecdb830aa3b0b87 (diff)
parent7f9f2d6abc40f79e802b4063859eda343043b85c (diff)
downloadlinux-a0ff06b3a7bd3aa0cd99d0294e60b3ed28c9bfac.tar.gz
linux-a0ff06b3a7bd3aa0cd99d0294e60b3ed28c9bfac.zip
Merge tag 'firewire-fixes-7.3-final' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394
Pull firewire fix from Takashi Sakamoto: "Fix a regression introduced in v6.19. It affects cancellation of the timer for split transaction timeout when handling a response. The issue is unlikely to occur in practice" * tag 'firewire-fixes-7.3-final' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394: firewire: core: fix race condition in split transaction handling
Diffstat (limited to 'drivers')
-rw-r--r--drivers/firewire/core-transaction.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/firewire/core-transaction.c b/drivers/firewire/core-transaction.c
index 22ae387ae03c..016070560c74 100644
--- a/drivers/firewire/core-transaction.c
+++ b/drivers/firewire/core-transaction.c
@@ -89,8 +89,12 @@ void fw_cancel_pending_transactions(struct fw_card *card)
break; \
} \
} \
- if (t && try_cancel_split_timeout(t)) \
- remove_transaction_entry(card, t); \
+ if (t) { \
+ if (try_cancel_split_timeout(t)) \
+ remove_transaction_entry(card, t); \
+ else \
+ t = NULL; \
+ } \
t; \
})