diff options
| author | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2025-09-16 08:47:45 +0900 |
|---|---|---|
| committer | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2025-09-16 08:52:18 +0900 |
| commit | 420bd7068cbfaea0a857472dd631dc48311e2a8f (patch) | |
| tree | 893afa5e0ce02a1a1b7e1082711a8e2792948b6d /include/linux | |
| parent | 7d138cb269dbd2fa9b0da89a9c10503d1cf269d5 (diff) | |
firewire: core: use spin lock specific to transaction
The list of instance for asynchronous transaction to wait for response
subaction is maintained as a member of fw_card structure. The card-wide
spinlock is used at present for any operation over the list, however it
is not necessarily suited for the purpose.
This commit adds and uses the spin lock specific to maintain the list.
Link: https://lore.kernel.org/r/20250915234747.915922-5-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/firewire.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/include/linux/firewire.h b/include/linux/firewire.h index aeb71c39e57e..8d6801cf2fca 100644 --- a/include/linux/firewire.h +++ b/include/linux/firewire.h @@ -88,11 +88,15 @@ struct fw_card { int node_id; int generation; - int current_tlabel; - u64 tlabel_mask; - struct list_head transaction_list; u64 reset_jiffies; + struct { + int current_tlabel; + u64 tlabel_mask; + struct list_head list; + spinlock_t lock; + } transactions; + u32 split_timeout_hi; u32 split_timeout_lo; unsigned int split_timeout_cycles; |
