From e6fb0a2f154471de73e37561fa78ddbaa7d9cefb Mon Sep 17 00:00:00 2001 From: Karsten Wiese Date: Fri, 30 Dec 2011 01:42:01 +0100 Subject: [PATCH] --- yaml --- r: 284141 b: refs/heads/master c: d0f3a2eb9062560bebca8b923424f3ca02a331ba h: refs/heads/master i: 284139: cf808b62ab671b2e5c34a83b28a44ed216320af6 v: v3 --- [refs] | 2 +- trunk/sound/usb/usx2y/usb_stream.c | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 6e4d36b3ca6d..36247a331cfc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7d53a631ed92abd19d3c948a5daa535e53bd2bff +refs/heads/master: d0f3a2eb9062560bebca8b923424f3ca02a331ba diff --git a/trunk/sound/usb/usx2y/usb_stream.c b/trunk/sound/usb/usx2y/usb_stream.c index c400ade3ff08..1e7a47a86605 100644 --- a/trunk/sound/usb/usx2y/usb_stream.c +++ b/trunk/sound/usb/usx2y/usb_stream.c @@ -674,7 +674,7 @@ int usb_stream_start(struct usb_stream_kernel *sk) inurb->transfer_buffer_length = inurb->number_of_packets * inurb->iso_frame_desc[0].length; - preempt_disable(); + if (u == 0) { int now; struct usb_device *dev = inurb->dev; @@ -686,19 +686,17 @@ int usb_stream_start(struct usb_stream_kernel *sk) } err = usb_submit_urb(inurb, GFP_ATOMIC); if (err < 0) { - preempt_enable(); snd_printk(KERN_ERR"usb_submit_urb(sk->inurb[%i])" " returned %i\n", u, err); return err; } err = usb_submit_urb(outurb, GFP_ATOMIC); if (err < 0) { - preempt_enable(); snd_printk(KERN_ERR"usb_submit_urb(sk->outurb[%i])" " returned %i\n", u, err); return err; } - preempt_enable(); + if (inurb->start_frame != outurb->start_frame) { snd_printd(KERN_DEBUG "u[%i] start_frames differ in:%u out:%u\n",