sound: usb-audio: do not make URBs longer than sync packet interval
Using more packets in one URB do avoid interrupts does not make sense when we have a sync pipe whose packets generate interrupts more often. Therefore, limit the URB size to the synchronization packet interval. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
a65dd997b3
commit
765e8db078
1 changed files with 2 additions and 0 deletions
|
@ -1083,6 +1083,8 @@ static int init_substream_urbs(struct snd_usb_substream *subs, unsigned int peri
|
|||
} else
|
||||
urb_packs = 1;
|
||||
urb_packs *= packs_per_ms;
|
||||
if (subs->syncpipe)
|
||||
urb_packs = min(urb_packs, 1 << subs->syncinterval);
|
||||
|
||||
/* decide how many packets to be used */
|
||||
if (is_playback) {
|
||||
|
|
Loading…
Reference in a new issue