]> git.ipfire.org Git - thirdparty/linux.git/commit
firewire: ohci: operate IT/IR events in sleepable work process instead of tasklet...
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Wed, 4 Sep 2024 12:51:52 +0000 (21:51 +0900)
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>
Wed, 4 Sep 2024 12:51:52 +0000 (21:51 +0900)
commit5390813c34d799bde1ddf7b726f9b8f78bad67f0
treeb428ebbe4195564412d9a1304b7ab685c3346ac2
parent4f55ad754d6b7b6fa4ebcfd8c50f7e53e661a78e
firewire: ohci: operate IT/IR events in sleepable work process instead of tasklet softIRQ

This commit queues work item for IT/IR events at hardIRQ handler to operate
the corresponding isochronous context. The work item is queued to any of
worker-pools.

The callback for either the implementation of unit protocol and user space
clients is executed in sleepable work process context. The change could
results in any errors of concurrent processing as well as sleep at atomic
context. These errors are fixed by the following commits.

Tested-by: Edmund Raile <edmund.raile@protonmail.com>
Link: https://lore.kernel.org/r/20240904125155.461886-4-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
drivers/firewire/ohci.c