Signed-off-by: Andrew Morton --- sound/usb/usbaudio.c | 5 +++++ 1 file changed, 5 insertions(+) diff -puN sound/usb/usbaudio.c~gregkh-usb-usb-usbaudio-correct-bug-caused-by-harmless-underrun-during-playback-setup sound/usb/usbaudio.c --- a/sound/usb/usbaudio.c~gregkh-usb-usb-usbaudio-correct-bug-caused-by-harmless-underrun-during-playback-setup +++ a/sound/usb/usbaudio.c @@ -849,6 +849,9 @@ static int start_urbs(struct snd_usb_sub subs->running = 1; for (i = 0; i < subs->nurbs; i++) { err = usb_submit_urb(subs->dataurb[i].urb, GFP_ATOMIC); + if (err == -EL2NSYNC) + err = usb_submit_urb(subs->dataurb[i].urb, GFP_ATOMIC); + if (err < 0) { snd_printk(KERN_ERR "cannot submit datapipe " "for urb %d, error %d: %s\n", @@ -860,6 +863,8 @@ static int start_urbs(struct snd_usb_sub if (subs->syncpipe) { for (i = 0; i < SYNC_URBS; i++) { err = usb_submit_urb(subs->syncurb[i].urb, GFP_ATOMIC); + if (err == -EL2NSYNC) + err = usb_submit_urb(subs->syncurb[i].urb, GFP_ATOMIC); if (err < 0) { snd_printk(KERN_ERR "cannot submit syncpipe " "for urb %d, error %d: %s\n", _