summaryrefslogtreecommitdiff
path: root/sound/usb/caiaq
diff options
context:
space:
mode:
authorJohn Stultz <john.stultz@linaro.org>2011-08-19 16:42:01 -0700
committerJohn Stultz <john.stultz@linaro.org>2011-08-19 16:42:01 -0700
commit312effedac183148411c965e20a62e73f23979f6 (patch)
tree81e466e84e7a2ebe9ee53e5d0963dc2d3c3f7356 /sound/usb/caiaq
parentd3828df964e542533765b23f9a343657c7860e17 (diff)
parentdbf7603a92cd895b8c1017734bc30fd9a32fd933 (diff)
Merge branch 'upstream/linaro-3.0' into linaro-android-3.0linux-linaro-3.0-2011.08-0-android-1
Diffstat (limited to 'sound/usb/caiaq')
-rw-r--r--sound/usb/caiaq/audio.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/usb/caiaq/audio.c b/sound/usb/caiaq/audio.c
index d0d493ca28a..aa52b3e13bb 100644
--- a/sound/usb/caiaq/audio.c
+++ b/sound/usb/caiaq/audio.c
@@ -614,6 +614,7 @@ static void read_completed(struct urb *urb)
struct snd_usb_caiaqdev *dev;
struct urb *out;
int frame, len, send_it = 0, outframe = 0;
+ size_t offset = 0;
if (urb->status || !info)
return;
@@ -634,7 +635,8 @@ static void read_completed(struct urb *urb)
len = urb->iso_frame_desc[outframe].actual_length;
out->iso_frame_desc[outframe].length = len;
out->iso_frame_desc[outframe].actual_length = 0;
- out->iso_frame_desc[outframe].offset = BYTES_PER_FRAME * frame;
+ out->iso_frame_desc[outframe].offset = offset;
+ offset += len;
if (len > 0) {
spin_lock(&dev->spinlock);
@@ -650,7 +652,7 @@ static void read_completed(struct urb *urb)
}
if (send_it) {
- out->number_of_packets = FRAMES_PER_URB;
+ out->number_of_packets = outframe;
out->transfer_flags = URB_ISO_ASAP;
usb_submit_urb(out, GFP_ATOMIC);
}