[GIT PULL] firewire updates for v6.19

Takashi Sakamoto <[email protected]> Tue, 2 Dec 2025 08:22:43 +0900
Newsgroups gmane.linux.kernel,gmane.linux.kernel.firewire.devel
Message-ID <[email protected]>
Hi Linus,

Please pull the updates for firewire subsystem to your tree. It includes
core function changes, and all users get affects from them. I would
appreciate receiving any test report from the users.

The following changes since commit 3a8660878839faadb4f1a6dd72c3179c1df56787:

  Linux 6.18-rc1 (2025-10-12 13:42:36 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git tags/firewire-updates-6.19

for you to fetch changes up to 036176d9dba74e23e3ef358e171a77b75837fee0:

  firewire: core: abort pending transactions at card removal (2025-11-14 04:30:58 +0900)

----------------------------------------------------------------
firewire updates for v6.19

This release includes two changes for core functions, which affects all
use cases of this subsystem.

 - Handle per-device interoperability quirks
   It is well known that some devices have quirks affecting
   interoperability. To identify such quirks at an early stages of
   device detection, the step for reading the configuration ROM contents
   has been changed. As a side effect, the entire detection process is
   now performed at the basic transaction speed (S100), without no trial
   to probe higher supported speeds.
   With this change, the following devices should now work with fewer
   issues:
   - TASCAM FW-1884, FW-1804, and FW-1082
   - MOTU Audio Express

 - Safer removals of host card
   There was a race condition between host card removal and handling of
   bus reset events in the workqueue. This appears to be a long standing
   issue (for a dozen years or so[1]), and recent changes to use more
   workqueues escalate it. To solve it, a new callback has been added to
   the 1394 OHCI PCI driver to unregister the interrupt sources and wait
   for workqueue completions when removing a card instance.

[1] https://sourceforge.net/p/linux1394/mailman/linux1394-devel/thread/20250629024836.GA16759%40workstation.local/#msg59200628

----------------------------------------------------------------
Marco Crivellari (1):
      firewire: core: add WQ_UNBOUND to alloc_workqueue users

Takashi Sakamoto (11):
      firewire: core: detect device quirk when reading configuration ROM
      firewire: core: handle device quirk of MOTU Audio Express
      firewire: core: code refactoring to compute transaction speed
      firewire: core: determine transaction speed after detecting quirks
      firewire: core: handle device quirk of TASCAM FW-1884/FW-1804/FW-1082
      ALSA: firewire-tascam: reserve resources for transferred isochronous packets at S400
      firewire: core: use cleanup function to release cached configuration ROM
      firewire: core: code refactoring to remove transaction entry
      firewire: core: code refactoring to find and pop transaction entry
      firewire: core: clear sources of hardware interrupt at card removal
      firewire: core: abort pending transactions at card removal

 drivers/firewire/core-card.c          |  25 +++++++++-----------
 drivers/firewire/core-device.c        | 194 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------
 drivers/firewire/core-transaction.c   |  88 +++++++++++++++++++++++++++++++++++++++++++++++-----------------------
 drivers/firewire/core.h               |   5 ++++
 drivers/firewire/ohci.c               |  78 +++++++++++++++++++++++++++++++++++++++++++++++++++-----------
 include/linux/firewire.h              |  17 ++++++++++++++
 sound/firewire/tascam/tascam-stream.c |  21 +++++++++--------
 7 files changed, 304 insertions(+), 124 deletions(-)


Regards

Takashi Sakamoto