summaryrefslogtreecommitdiff
path: root/drivers/firewire/config-rom-parser-test.c
AgeCommit message (Collapse)Author
2026-09-08firewire: core: fix type of transaction data in config ROM parser testTakashi Sakamoto
The type of transaction data should be __be32 in the stub function for the asynchronous transactions. Fixes: 23e0d2e849eb ("firewire: core: add test to detect irm-is-1394-1995-only quirk in config ROM parser") Fixes: f8e5070bf292 ("firewire: core: add test to avoid excessive configuration ROM length") Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202609060257.8wQo9w9N-lkp@intel.com/ Link: https://lore.kernel.org/r/20260908122929.2886698-1-o-takashi@sakamocchi.jp Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2026-09-01firewire: core: add test to avoid excessive configuration ROM lengthTakashi Sakamoto
The configuration ROM parser needs to handle malformed ROM contents safely. In particular, malformed directory and leaf offsets and block lengths should not result in accesses beyond the available configuration ROM data. Add a KUnit test with malformed configuration ROM content to verify that the parser sanitizes entries that would cause accesses beyond the available configuration ROM data. Reported-by: Aleksandr Shabelnikov <mistermidi@gmail.com> Link: https://lore.kernel.org/lkml/20250901171547.47065-1-mistermidi@gmail.com/ Link: https://lore.kernel.org/r/20260901134534.2386577-7-o-takashi@sakamocchi.jp Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2026-09-01firewire: core: add test to detect unstable-at-s400 quirk in config ROM parserTakashi Sakamoto
TASCAM FireWire series devices have a quirk where they fail to respond to asynchronous transactions at S400 speed. This quirk was supported by commit d52bb3daad3f ("firewire: core: handle device quirk of TASCAM FW-1884/FW-1804/FW-1082"). Add a KUnit test to verify that the configuration ROM parser detects the quirk correctly. The configuration ROM content is retrieved from the author's collection. Link: https://lore.kernel.org/r/20260901134534.2386577-6-o-takashi@sakamocchi.jp Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2026-09-01firewire: core: add test to detect ack-packet-with-invalid-pending-code ↵Takashi Sakamoto
quirk in config ROM parser MOTU Audio Express has a quirk where it transfers an invalid pending code when receiving an asynchronous request. This quirk was originally reported by commit 3a93d082bacf ("ALSA: firewire-motu: add support for MOTU Audio Express") and later supported by commit 15f9610fc96a ("firewire: core: handle device quirk of MOTU Audio Express"). Add a KUnit test to verify that the configuration ROM parser detects the quirk correctly. The configuration ROM content is retrieved from the commit mentioned above. Link: https://lore.kernel.org/r/20260901134534.2386577-5-o-takashi@sakamocchi.jp Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2026-09-01firewire: core: add test to detect irm-ignores-bus-manager quirk in config ↵Takashi Sakamoto
ROM parser Some Canon DV cameras have a quirk where they malfunction as non-root nodes by ignoring the bus manager. This quirk was supported by commit 6044565af458e ("firewire: core: fix unstable I/O with Canon camcorder") and refactored by commit 5a43dc9f4ee0 ("firewire: core: detect device quirk when reading configuration ROM"). Add a KUnit test to verify that the configuration ROM parser detects the quirk correctly. The configuration ROM content is retrieved from the following discussion: https://bugzilla.redhat.com/show_bug.cgi?id=633260 Link: https://lore.kernel.org/r/20260901134534.2386577-4-o-takashi@sakamocchi.jp Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2026-09-01firewire: core: add test to detect irm-is-1394-1995-only quirk in config ROM ↵Takashi Sakamoto
parser Some Sony DV cameras have a quirk where their IRM functionality does not comply with IEEE 1394a:2000. This quirk was supported by commit 10389536742c ("firewire: core: check for 1394a compliant IRM, fix inaccessibility of Sony camcorder") and refactored by commit 5a43dc9f4ee0 ("firewire: core: detect device quirk when reading configuration ROM"). Add a KUnit test to check detection of the quirk. The configuration ROM content is retrieved from the following discussion: https://github.com/systemd/systemd/issues/25029. Link: https://lore.kernel.org/r/20260901134534.2386577-3-o-takashi@sakamocchi.jp Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
2026-09-01firewire: core: add KUnit test skeleton for config ROM parser and generatorTakashi Sakamoto
In IEEE 1394, all devices on the bus are required to provide structured data in response to requests to a specific range of their address space. This structured data is called configuration ROM and is defined in IEEE 1212. The core function of this subsystem contains the generator and parser for the configuration ROM. The generator constructs the configuration ROM for the local host node, while the parser interprets the configuration ROM of detected nodes. Both the generator and parser are fundamental to identifying the node capabilities. Add KUnit test skeletons for testing their implementations. Link: https://lore.kernel.org/r/20260901134534.2386577-2-o-takashi@sakamocchi.jp Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>