summaryrefslogtreecommitdiff
path: root/sound/firewire/amdtp.c
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2014-04-25 13:45:05 (GMT)
committerTakashi Iwai <tiwai@suse.de>2014-05-26 12:25:00 (GMT)
commit697022391e46614184101c59e46c9671598026db (patch)
tree184134a0b33f09ac49d8301f534dc9e83f61c2a8 /sound/firewire/amdtp.c
parentc8bdf49b9935cdeec917347df00a5434d58e9df0 (diff)
downloadlinux-697022391e46614184101c59e46c9671598026db.tar.xz
ALSA: fireworks/firewire-lib: Add a quirk for wrong dbs in tx packets
One of Fireworks firmware, named as 'AudioFire9', seems to transmit packets with wrong value of dbs. It's always 0x11 but actual size of data block is different. This commit adds a flag for this quirk and some codes to calculate correct size. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/firewire/amdtp.c')
-rw-r--r--sound/firewire/amdtp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/firewire/amdtp.c b/sound/firewire/amdtp.c
index 51aad68..3903387 100644
--- a/sound/firewire/amdtp.c
+++ b/sound/firewire/amdtp.c
@@ -653,6 +653,8 @@ static void handle_in_packet(struct amdtp_stream *s,
cip_header[0]);
goto err;
}
+ if (s->flags & CIP_WRONG_DBS)
+ data_block_quadlets = s->data_block_quadlets;
data_blocks = (payload_quadlets - 2) / data_block_quadlets;
}