Since commit 13882a82ee16, upper-layer firewire drivers are required to flush after enqueueing a batch of isochronous buffers.
Signed-off-by: Stefan Richter stefanr@s5r6.in-berlin.de --- Actually, snd-isight still worked for me without it but I guess I was just lucky that the controllers (FW643-e, JMB381, XIO2213A) never read up to the current tail of the DMA program.
Dismiss this if you already have something like this in the pipeline.
sound/firewire/isight.c | 1 + 1 file changed, 1 insertion(+)
Index: b/sound/firewire/isight.c =================================================================== --- a/sound/firewire/isight.c +++ b/sound/firewire/isight.c @@ -213,6 +213,7 @@ static void isight_packet(struct fw_iso_ if (++index >= QUEUE_LENGTH) index = 0; isight->packet_index = index; + fw_iso_context_queue_flush(isight->context); }
static int isight_connect(struct isight *isight)