mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/5] firewire: ohci: invoke all AT packet callbacks from a workqueue
@ 2026-09-19 11:50 Takashi Sakamoto
  2026-09-19 11:50 ` [PATCH 1/5] firewire: ohci: use workqueue to handle error case of AT request/response packet queueing Takashi Sakamoto
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Takashi Sakamoto @ 2026-09-19 11:50 UTC (permalink / raw)
  To: linux1394-devel; +Cc: linux-kernel

Hi,

For local-to-local asynchronous transactions, a shortcut is implemented to
handle the relevant packets in the request initiator's context instead of
queueing them to the hardware. This may seem beneficial since the
transaction completes immediately within the software stack.

However, this has the drawback that the context in which the callback
handler is invoked is unspecified, as it runs in the initiator's context.
This makes it difficult to implement the callback handlers, especially
address handlers.

This patchset addresses this issue by using a workqueue. All packet
callbacks are now invoked in process context.

Takashi Sakamoto (5):
  firewire: ohci: use workqueue to handle error case of AT
    request/response packet queueing
  firewire: ohci: use workqueue to handle local AT request/response
    packets
  firewire: ohci: refactor branches in at_context_transmit()
  firewire: core: use spinlock without irqsave for card split_timeout
    member
  firewire: core: use spinlock without irqsave for card topology_map
    member

 drivers/firewire/core-card.c        |   7 +-
 drivers/firewire/core-transaction.c |  22 ++---
 drivers/firewire/ohci.c             | 119 ++++++++++++++++++++++------
 include/linux/firewire.h            |   5 +-
 4 files changed, 107 insertions(+), 46 deletions(-)


base-commit: a20545fbf9226591017fc371bdfb1bfd490b0e0b
-- 
2.53.0


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

end of thread, other threads:[~2026-09-20  7:22 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-19 11:50 [PATCH 0/5] firewire: ohci: invoke all AT packet callbacks from a workqueue Takashi Sakamoto
2026-09-19 11:50 ` [PATCH 1/5] firewire: ohci: use workqueue to handle error case of AT request/response packet queueing Takashi Sakamoto
2026-09-19 11:50 ` [PATCH 2/5] firewire: ohci: use workqueue to handle local AT request/response packets Takashi Sakamoto
2026-09-19 11:50 ` [PATCH 3/5] firewire: ohci: refactor branches in at_context_transmit() Takashi Sakamoto
2026-09-19 11:50 ` [PATCH 4/5] firewire: core: use spinlock without irqsave for card split_timeout member Takashi Sakamoto
2026-09-19 11:50 ` [PATCH 5/5] firewire: core: use spinlock without irqsave for card topology_map member Takashi Sakamoto
2026-09-20  7:22 ` [PATCH 0/5] firewire: ohci: invoke all AT packet callbacks from a 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®