summaryrefslogtreecommitdiffstats
path: root/drivers/staging/line6
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@gmail.com>2011-12-10 02:12:28 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-12-09 19:26:09 -0800
commit2f637ee42d4a60e1c3823beff3699354bd4400be (patch)
tree7f63652f89093630f6ac93e3443f28426d075bfb /drivers/staging/line6
parent60c01a977814788178362ff0e1a22dfbf106eede (diff)
downloadlinux-2f637ee42d4a60e1c3823beff3699354bd4400be.tar.gz
linux-2f637ee42d4a60e1c3823beff3699354bd4400be.tar.xz
linux-2f637ee42d4a60e1c3823beff3699354bd4400be.zip
staging: line6: fix playback urb transfer buffer calculation
The playback urb transfer buffer calculation does not factor in LINE6_ISO_PACKETS. Buffer memory is organized like this in the driver: Buffer 0 Buffer 1 ... [Packet 0, Packet 1, ...][Packet 0, Packet 1, ...][Packet 0, ...] However, we're lucky that LINE6_ISO_PACKETS is currently defined as 1 so this patch does not change any behavior. It's still worth including this fix in case the LINE6_ISO_PACKETS value is changed in the future. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Markus Grabner <grabner@icg.tugraz.at> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/line6')
-rw-r--r--drivers/staging/line6/playback.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/staging/line6/playback.c b/drivers/staging/line6/playback.c
index ed1b9bd93ff8..b17c0a7708dd 100644
--- a/drivers/staging/line6/playback.c
+++ b/drivers/staging/line6/playback.c
@@ -192,7 +192,7 @@ static int submit_audio_out_urb(struct snd_line6_pcm *line6pcm)
urb_frames = urb_size / bytes_per_frame;
urb_out->transfer_buffer =
line6pcm->buffer_out +
- line6pcm->max_packet_size * line6pcm->index_out;
+ LINE6_ISO_PACKETS * line6pcm->max_packet_size * line6pcm->index_out;
urb_out->transfer_buffer_length = urb_size;
urb_out->context = line6pcm;