summary refs log tree commit diff
path: root/sound/firewire
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2011-06-17 08:18:35 +0200
committerTakashi Iwai <tiwai@suse.de>2011-06-17 11:37:29 +0200
commitcf6f1ff17f56c275424c5a341fc4d27ccbbfa71c (patch)
tree7653c290dab423d7e49772295917efd29e1545b6 /sound/firewire
parent0ec5258d68c626922d92e2f0e4e5c689e5360a5d (diff)
downloadlinux-cf6f1ff17f56c275424c5a341fc4d27ccbbfa71c.tar.gz
ALSA: isight: adjust for new queueing API
Since commit 13882a82ee16 (optimize iso queueing by setting
wake only after the last packet), drivers are required to call
fw_iso_context_queue_flush() after queueing a batch of packets.
The missing call would have an effect only if the controller
queue underruns, but then the DMA would stop completely.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/firewire')
-rw-r--r--sound/firewire/isight.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/firewire/isight.c b/sound/firewire/isight.c
index 86ee16ca365e..440030818db7 100644
--- a/sound/firewire/isight.c
+++ b/sound/firewire/isight.c
@@ -209,6 +209,7 @@ static void isight_packet(struct fw_iso_context *context, u32 cycle,
 		isight->packet_index = -1;
 		return;
 	}
+	fw_iso_context_queue_flush(isight->context);
 
 	if (++index >= QUEUE_LENGTH)
 		index = 0;