summaryrefslogtreecommitdiffstats
path: root/sound/firewire
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2011-05-11 10:48:24 +0200
committerTakashi Iwai <tiwai@suse.de>2011-05-11 14:51:13 +0200
commit898732d1f1c7181fd3e94e7d7a784edb48d09d95 (patch)
treeac77de85f17d58a4a387364681bbb0d5b342125d /sound/firewire
parentALSA: isight: fix isight_pcm_abort() crashes (diff)
downloadlinux-898732d1f1c7181fd3e94e7d7a784edb48d09d95.tar.xz
linux-898732d1f1c7181fd3e94e7d7a784edb48d09d95.zip
ALSA: isight: fix packet requeueing
After handling a received packet, we want to resubmit the same packet, so do not increase the packet index too early. 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.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sound/firewire/isight.c b/sound/firewire/isight.c
index 0230605c917e..4e334919a70f 100644
--- a/sound/firewire/isight.c
+++ b/sound/firewire/isight.c
@@ -198,9 +198,6 @@ static void isight_packet(struct fw_iso_context *context, u32 cycle,
}
}
- if (++index >= QUEUE_LENGTH)
- index = 0;
-
err = fw_iso_context_queue(isight->context, &audio_packet,
&isight->buffer.iso_buffer,
isight->buffer.packets[index].offset);
@@ -211,6 +208,8 @@ static void isight_packet(struct fw_iso_context *context, u32 cycle,
return;
}
+ if (++index >= QUEUE_LENGTH)
+ index = 0;
isight->packet_index = index;
}