mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/5] firewire: core/ohci: defer cancellation callbacks to workqueue
@ 2026-10-05 11:25 Takashi Sakamoto
  2026-10-05 11:25 ` [PATCH 1/5] firewire: core: expand close_transaction() into its callers and remove it Takashi Sakamoto
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Takashi Sakamoto @ 2026-10-05 11:25 UTC (permalink / raw)
  To: linux1394-devel; +Cc: linux-kernel

Hi,

The current implementation invokes both packet and transaction callbacks
from a workqueue when they complete normally[1][2]. In contrast, the
cancellation paths invoke the callbacks synchronously while cancelling
them.

Although the cancellation paths are guaranteed to run in process context,
invoking the callbacks synchronously is undesirable because it makes
callback execution depends on the context in which cancellation is
executed.

This series defers the callbacks to a workqueue when cancelling the
packets and transactions, so that callbacks are invoked from a workqueue
in both normal completion and cancellation paths.

This also allows local AT packets to be cancelled. Local packets currently
use a separate path and cannot be cancelled once queued. Make them use
the same cancellation mechanism as remote packets.

[1] [PATCH 0/5] firewire: ohci: invoke all AT packet callbacks from a workqueue
https://lore.kernel.org/lkml/20260919115017.859169-1-o-takashi@sakamocchi.jp/
[2] [PATCH 0/3] firewire: core: invoke transaction callbacks in process context
https://lore.kernel.org/lkml/20260921031931.287429-1-o-takashi@sakamocchi.jp/

Takashi Sakamoto (5):
  firewire: core: expand close_transaction() into its callers and remove
    it
  firewire: ohci: schedule callback on workqueue when cancelling AT
    request packet
  firewire: ohci: allow AT local packet cancellation
  firewire: core: schedule callback when cancelling pending transactions
  firewire: core: fulfill kerneldoc for fw_cancel_transaction()

 drivers/firewire/core-transaction.c | 91 ++++++++++++++---------------
 drivers/firewire/ohci.c             | 57 +++++++++++++-----
 2 files changed, 88 insertions(+), 60 deletions(-)


base-commit: a6e7c3836b81235df08814bd409f7a23efcfb34d
-- 
2.53.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-10-06 15:29 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-05 11:25 [PATCH 0/5] firewire: core/ohci: defer cancellation callbacks to workqueue Takashi Sakamoto
2026-10-05 11:25 ` [PATCH 1/5] firewire: core: expand close_transaction() into its callers and remove it Takashi Sakamoto
2026-10-06 15:29   ` Takashi Sakamoto
2026-10-05 11:25 ` [PATCH 2/5] firewire: ohci: schedule callback on workqueue when cancelling AT request packet Takashi Sakamoto
2026-10-05 11:25 ` [PATCH 3/5] firewire: ohci: allow AT local packet cancellation Takashi Sakamoto
2026-10-05 11:25 ` [PATCH 4/5] firewire: core: schedule callback when cancelling pending transactions Takashi Sakamoto
2026-10-05 11:25 ` [PATCH 5/5] firewire: core: fulfill kerneldoc for fw_cancel_transaction() Takashi Sakamoto

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®