ALSA: USB: adjust for changed 3.8 USB API
The recent changes in the USB API ("implement new semantics for URB_ISO_ASAP") made the former meaning of the URB_ISO_ASAP flag the default, and changed this flag to mean that URBs can be delayed. This is not the behaviour wanted by any of the audio drivers because it leads to discontinuous playback with very small period sizes. Therefore, our URBs need to be submitted without this flag. Reported-by: Joe Rayhawk <jrayhawk@fairlystable.org> Cc: <stable@vger.kernel.org> # 3.8 only Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:

committed by
Takashi Iwai

parent
fa92dd77ec
commit
c75c5ab575
@@ -1120,8 +1120,7 @@ static int alloc_stream_urbs(struct ua101 *ua, struct ua101_stream *stream,
|
||||
usb_init_urb(&urb->urb);
|
||||
urb->urb.dev = ua->dev;
|
||||
urb->urb.pipe = stream->usb_pipe;
|
||||
urb->urb.transfer_flags = URB_ISO_ASAP |
|
||||
URB_NO_TRANSFER_DMA_MAP;
|
||||
urb->urb.transfer_flags = URB_NO_TRANSFER_DMA_MAP;
|
||||
urb->urb.transfer_buffer = addr;
|
||||
urb->urb.transfer_dma = dma;
|
||||
urb->urb.transfer_buffer_length = max_packet_size;
|
||||
|
Reference in New Issue
Block a user