c1839501fe3e ("ALSA: firewire-lib: fix wrong value as length of header for CIP_NO_HEADER case") indeed fixes the issue.
Thank you very much!
I just hope non-CIP_NO_HEADER cases work, but then again, looking at the original struct ``` struct { struct fw_iso_packet params; __be32 header[CIP_HEADER_QUADLETS]; } template = { {0}, {0} }; ``` the fw_iso_packet wasn't at the end of the array, thus ``` struct fw_iso_packet { u16 payload_length; /* Length of indirect payload */ u32 interrupt:1; /* Generate interrupt on this packet */ u32 skip:1; /* tx: Set to not send packet at all */ /* rx: Sync bit, wait for matching sy */ u32 tag:2; /* tx: Tag in packet header */ u32 sy:4; /* tx: Sy in packet header */ u32 header_length:8; /* Size of immediate header */ u32 header[]; /* tx: Top of 1394 isoch. data_block */ }; ``` its header array wouldn't ever end up being initialized here with > 0 elements. Maybe that wasn't ever required.
Tested-by: Edmund Raile edmund.raile@protonmail.com Link: https://lore.kernel.org/r/20240725155640.128442-1-o-takashi@sakamocchi.jp
linux-stable-mirror@lists.linaro.org