summaryrefslogtreecommitdiff
path: root/sound/firewire/oxfw/oxfw-stream.c
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2021-05-18 11:45:57 +0300
committerTakashi Iwai <tiwai@suse.de>2021-05-18 13:24:24 +0300
commit07a35edc59d1f461a02c83235d0fe63b4c313920 (patch)
treeab76f8558c3bd163ec952bf3814089d13de4a111 /sound/firewire/oxfw/oxfw-stream.c
parenta6f9169323f0dc629829c0052e8b6c6833cd5572 (diff)
downloadlinux-07a35edc59d1f461a02c83235d0fe63b4c313920.tar.xz
ALSA: oxfw: add quirk flag for blocking transmission method
Stanton SCS.1m and Apogee Duet FireWire use blocking transmission method unlike the other models. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Link: https://lore.kernel.org/r/20210518084557.102681-12-o-takashi@sakamocchi.jp Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/firewire/oxfw/oxfw-stream.c')
-rw-r--r--sound/firewire/oxfw/oxfw-stream.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sound/firewire/oxfw/oxfw-stream.c b/sound/firewire/oxfw/oxfw-stream.c
index 5771ff44dd5d..e9b6a9f171bf 100644
--- a/sound/firewire/oxfw/oxfw-stream.c
+++ b/sound/firewire/oxfw/oxfw-stream.c
@@ -153,9 +153,14 @@ static int init_stream(struct snd_oxfw *oxfw, struct amdtp_stream *stream)
struct cmp_connection *conn;
enum cmp_direction c_dir;
enum amdtp_stream_direction s_dir;
- unsigned int flags = CIP_NONBLOCKING;
+ unsigned int flags;
int err;
+ if (!(oxfw->quirks & SND_OXFW_QUIRK_BLOCKING_TRANSMISSION))
+ flags = CIP_NONBLOCKING;
+ else
+ flags = CIP_BLOCKING;
+
if (stream == &oxfw->tx_stream) {
conn = &oxfw->out_conn;
c_dir = CMP_OUTPUT;