On Thu, Jul 25, 2024 at 08:08:14AM -0600, Gustavo A. R. Silva wrote:
Hi!
On 25/07/24 07:07, Takashi Iwai wrote:
On Thu, 25 Jul 2024 00:24:29 +0200, edmund.raile wrote:
Bisection revealed that the bitcrushing distortion with RME FireFace 800 was caused by 1d717123bb1a7555 ("ALSA: firewire-lib: Avoid -Wflex-array-member-not-at-end warning").
Reverting this commit yields restoration of clear audio output. I will send in a patch reverting this commit for now, soonTM.
#regzbot introduced: 1d717123bb1a7555
While it's OK to have a quick revert, it'd be worth to investigate further what broke there; the change is rather trivial, so it might be something in the macro expansion or a use of flex array stuff.
I wonder is there is any log that I can take a look at. That'd be really helpful.
The original designated initializer fills all of fields with 0.
The new designated initializer assigns CIP_HEADER_QUADLETS (=2) to struct fw_iso_packet.header_length. It is wrong value in the case of CIP_NO_HEADER. Additionally it is wrong value in another case since the value of the field should be byte unit.
I'll post a patch soon.
Regards
Takashi Sakamoto