summaryrefslogtreecommitdiff
path: root/sound/usb/line6/capture.c
diff options
context:
space:
mode:
authorAndrej Krutak <dev@andree.sk>2016-09-18 21:59:23 +0300
committerTakashi Iwai <tiwai@suse.de>2016-09-20 00:00:10 +0300
commit7a0f55aeeb8f1fa32a119d34ddfefc6100936692 (patch)
treec09d5ec340198bad9fde8f47f9098233cb6859ab /sound/usb/line6/capture.c
parent79faa2b048b23f28a24a7b232d8933cb53df95b7 (diff)
downloadlinux-7a0f55aeeb8f1fa32a119d34ddfefc6100936692.tar.xz
ALSA: line6: Support assymetrical in/out configurations
Splits max_packet_size to max_packet_size_in/out (e.g. for different channel counts). Signed-off-by: Andrej Krutak <dev@andree.sk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/line6/capture.c')
-rw-r--r--sound/usb/line6/capture.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sound/usb/line6/capture.c b/sound/usb/line6/capture.c
index 596bc53d0775..8f9647853acd 100644
--- a/sound/usb/line6/capture.c
+++ b/sound/usb/line6/capture.c
@@ -44,13 +44,13 @@ static int submit_audio_in_urb(struct snd_line6_pcm *line6pcm)
struct usb_iso_packet_descriptor *fin =
&urb_in->iso_frame_desc[i];
fin->offset = urb_size;
- fin->length = line6pcm->max_packet_size;
- urb_size += line6pcm->max_packet_size;
+ fin->length = line6pcm->max_packet_size_in;
+ urb_size += line6pcm->max_packet_size_in;
}
urb_in->transfer_buffer =
line6pcm->in.buffer +
- index * LINE6_ISO_PACKETS * line6pcm->max_packet_size;
+ index * LINE6_ISO_PACKETS * line6pcm->max_packet_size_in;
urb_in->transfer_buffer_length = urb_size;
urb_in->context = line6pcm;
@@ -173,10 +173,10 @@ static void audio_in_callback(struct urb *urb)
fbuf = urb->transfer_buffer + fin->offset;
fsize = fin->actual_length;
- if (fsize > line6pcm->max_packet_size) {
+ if (fsize > line6pcm->max_packet_size_in) {
dev_err(line6pcm->line6->ifcdev,
"driver and/or device bug: packet too large (%d > %d)\n",
- fsize, line6pcm->max_packet_size);
+ fsize, line6pcm->max_packet_size_in);
}
length += fsize;