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

Hi,

This series is take 2 of the previous one[1].

The current implementation invokes both packet and transaction callbacks
from a workqueue when they complete normally[2][3]. 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.

Changes from v1:
* Use prefixed local variable in the issued macro

[1] [PATCH 0/5] firewire: core/ohci: defer cancellation callbacks to workqueue
https://lore.kernel.org/lkml/20261005112544.240552-1-o-takashi@sakamocchi.jp/
[2] [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/
[3] [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 | 101 ++++++++++++++--------------
 drivers/firewire/ohci.c             |  57 ++++++++++++----
 2 files changed, 93 insertions(+), 65 deletions(-)


base-commit: a6e7c3836b81235df08814bd409f7a23efcfb34d
-- 
2.53.0


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

end of thread, other threads:[~2026-10-08 21:53 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-07  9:32 [PATCH v2 0/5] firewire: core/ohci: defer cancellation callbacks to workqueue Takashi Sakamoto
2026-10-07  9:32 ` [PATCH v2 1/5] firewire: core: expand close_transaction() into its callers and remove it Takashi Sakamoto
2026-10-07  9:32 ` [PATCH v2 2/5] firewire: ohci: schedule callback on workqueue when cancelling AT request packet Takashi Sakamoto
2026-10-07  9:32 ` [PATCH v2 3/5] firewire: ohci: allow AT local packet cancellation Takashi Sakamoto
2026-10-07  9:32 ` [PATCH v2 4/5] firewire: core: schedule callback when cancelling pending transactions Takashi Sakamoto
2026-10-07  9:32 ` [PATCH v2 5/5] firewire: core: fulfill kerneldoc for fw_cancel_transaction() Takashi Sakamoto
2026-10-08 21:53 ` [PATCH v2 0/5] firewire: core/ohci: defer cancellation callbacks to workqueue 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®