While Apple removed FireWire support from the upcoming macOS 26 “Tahoe” release, Linux support for the IEEE-1394 standard continues. With the in-development Linux 6.17 there is some modernization work on the FireWire subsystem code with plan still being to maintain FireWire support on Linux until at least 2029.
Takashi Sakamoto as the developer who stepped up to maintain the FireWire subsystem for Linux two years ago has prepared a fresh round of patches for the next version of the Linux kernel. The focus is on removing tasklet usage from the subsystem and ending with the IEEE-1394 code being more robust within the kernel. He explained in this weekend’s pull request:
“This update replaces the remaining tasklet usage in the FireWire subsystem with workqueue for asynchronous packet transmission. With this change, tasklets are now fully eliminated from the subsystem.
Asynchronous packet transmission is used for serial bus topology management as well as for the operation of the SBP-2 protocol driver (firewire-sbp2). To ensure reliability during low-memory conditions, the associated workqueue is created with the WQ_MEM_RECLAIM flag, allowing it to participate in memory reclaim paths. Other attributes are aligned with those used for isochronous packet handling, which was migrated to workqueues in v6.12.
The workqueues are sleepable and support preemptible work items, making them more suitable for real-time workloads that benefit from timely task preemption at the system level.
There remains an issue where ‘schedule()’ may be called within an RCU read-side critical section, due to a direct replacement of ‘tasklet_disable_in_atomic()’ with ‘disable_work_sync()’. A proposed fix for this has been posted, and is currently under review and testing. It is expected to be sent upstream later.”
So while macOS 26 is ending their FireWire support and Microsoft hasn’t even shipped a FireWire driver by default since Windows 10, the Linux support continues to be maintained for at least as long as Takashi Sakamoto is interested in maintaining the subsystem.