ALSA: oxfw: fix functioal regression for silence in Apogee Duet FireWire
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Thu, 12 Aug 2021 02:28:39 +0000 (11:28 +0900)
committerTakashi Iwai <tiwai@suse.de>
Thu, 12 Aug 2021 11:40:27 +0000 (13:40 +0200)
commit67bb66d32905627e29400e2cb7f87a7c4c8cf667
treee1f46313a9fc437b062440d3ce5d4f932950d371
parenta2befe9380dd04ee76c871568deca00eedf89134
ALSA: oxfw: fix functioal regression for silence in Apogee Duet FireWire

OXFW 971 has no function to use the value in syt field of received
isochronous packet for playback timing generation. In kernel prepatch for
v5.14, ALSA OXFW driver got change to send NO_INFO value in the field
instead of actual timing value. The change brings Apogee Duet FireWire to
generate no playback sound, while output meter moves.

As long as I investigate, _any_ value in the syt field takes the device to
generate sound. It's reasonable to think that the device just ignores data
blocks in packet with NO_INFO value in its syt field for audio data
processing.

This commit adds a new flag for the quirk to fix regression.

Fixes: 029ffc429440 ("ALSA: oxfw: perform sequence replay for media clock recovery")
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20210812022839.42043-1-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/firewire/oxfw/oxfw-stream.c
sound/firewire/oxfw/oxfw.c
sound/firewire/oxfw/oxfw.h