Posts
95
Following
28
Followers
25
A maintainer of Linux FireWire subsystem and ALSA firewire stack.
http://ieee1394.docs.kernel.org/
https://github.com/takaswie/linux-firewire-dkms/

Takashi Sakamoto (坂本 貴史)

Edited 4 days ago
acknowledge code = 0x10 to any type of transaction is out of specification. MOTU Audio Express.
0
0
0

Takashi Sakamoto (坂本 貴史)

I sent:

[GIT PULL] firewire updates for v6.18 kernel
https://lore.kernel.org/lkml/20250929134642.GA748211@workstation.local/

That was some tough code refactoring, but continued...
0
0
0

Takashi Sakamoto (坂本 貴史)

[linux-next:master 11811/12740] drivers/firewire/core-transaction.c:1255: undefined reference to `__aeabi_uldivmod'
https://lore.kernel.org/oe-kbuild-all/202509270428.FZaO2PPq-lkp@intel.com/

Oh...
1
0
0

Takashi Sakamoto (坂本 貴史)

Ah, indeed. IntMask, synchronize_irq(), then losing contender and bus reset.
0
0
0

Takashi Sakamoto (坂本 貴史)

Edited 17 days ago
At depth-first search, update of color value at first works well to detect parent node in the list of port, as long as the color value of fw_node is different from the one of fw_card. However, we have no guarantee...
0
0
0

Takashi Sakamoto (坂本 貴史)

Hm. The way to use local stack is a bit peaky...
0
0
0

Takashi Sakamoto (坂本 貴史)

The error path from "build_tree" in "drivers/firewire/core-topology.c" causes memory leak since it's initial commit:

https://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git/tree/drivers/firewire/core-topology.c?id=07e27ad16399afcd693be20211b0dfae63e0615f#n98

I guess that it relies on the correctness of Self ID sequence retrieved by Self ID receive DMA context in 1394 OHCI specification. Hm.
0
0
0

Takashi Sakamoto (坂本 貴史)

Even if in the case of KUnit tests, it should be better to follow the listriction of kernel stack usage...

```
../drivers/firewire/topology-helper-test.c:184:1: warning: the frame size of 1636 bytes is larger than 1024 bytes [-Wframe-larger-than=]
184 | }
| ^
```
0
0
0

Takashi Sakamoto (坂本 貴史)

Hm.

[PATCH] vdso: Define NSEC_PER_SEC as 64-bit to prevent overflow
https://lore.kernel.org/lkml/20250805162031.952223-1-wakel@google.com/

[linux-next:master 8604/9696] drivers/firewire/core-card.c:552:32: warning: overflow in expression; result is -1'179'869'184 with type 'long'
https://lore.kernel.org/oe-kbuild-all/202509170136.b5ZHaNAV-lkp@intel.com/
0
0
0

Takashi Sakamoto (坂本 貴史)

https://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git/tree/drivers/firewire/core-topology.c?h=v6.16#n263

```
235 list_for_each_entry(node, &list, link) {
...
245 list_add_tail(&child->link, &list);
248 ...
249 }
```

Oops...
1
0
0

Takashi Sakamoto (坂本 貴史)

Ah, in short, it is better to serialize fw_core_handle_bus_reset() and bm_work() by calling disable_work_sync(), to update the parameters of link layer (fw_card).
0
0
0

Takashi Sakamoto (坂本 貴史)

Posted:
[PATCH 0/4] firewire: ohci: remove obsolete module-level debug parameter
https://lore.kernel.org/lkml/20250821003017.186752-1-o-takashi@sakamocchi.jp/
0
0
0

Takashi Sakamoto (坂本 貴史)

I sent:

[GIT PULL] firewire fixes for v6.17-rc1 kernel
https://lore.kernel.org/lkml/20250815020521.GA349651@workstation.local/T/#u
0
0
0

Takashi Sakamoto (坂本 貴史)

I sent:

[GIT PULL] firewire updates for v6.17 kernel
https://lore.kernel.org/lkml/20250802054917.GA127374@workstation.local/

Now all tasklets are eliminated from the subsystem. I think to achieve the major aim when I took over its maintenance.
0
0
1

Takashi Sakamoto (坂本 貴史)

Cut it pretty close, but I reached it:

[PATCH 0/3] firewire: core: call address handlers ouside RCU read-side critical section
https://lore.kernel.org/lkml/20250728015125.17825-1-o-takashi@sakamocchi.jp/
0
0
0

Takashi Sakamoto (坂本 貴史)

Oh, cool.

workqueue: Introduce from_work() helper for cleaner callback declarations:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=60b2ebf48526
0
0
0

Takashi Sakamoto (坂本 貴史)

The execution context of struct net_device_ops.ndo_start_xmit() is exactly the NET_TX_SOFTIRQ. I see.
0
0
0

Takashi Sakamoto (坂本 貴史)

0
0
0
Show older