diff options
Diffstat (limited to 'drivers/usb/class/audio.c')
-rw-r--r-- | drivers/usb/class/audio.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/usb/class/audio.c b/drivers/usb/class/audio.c index f8f21567cc22..50858273f8d3 100644 --- a/drivers/usb/class/audio.c +++ b/drivers/usb/class/audio.c | |||
@@ -631,8 +631,10 @@ static void usbin_stop(struct usb_audiodev *as) | |||
631 | i = u->flags; | 631 | i = u->flags; |
632 | spin_unlock_irqrestore(&as->lock, flags); | 632 | spin_unlock_irqrestore(&as->lock, flags); |
633 | while (i & (FLG_URB0RUNNING|FLG_URB1RUNNING|FLG_SYNC0RUNNING|FLG_SYNC1RUNNING)) { | 633 | while (i & (FLG_URB0RUNNING|FLG_URB1RUNNING|FLG_SYNC0RUNNING|FLG_SYNC1RUNNING)) { |
634 | set_current_state(notkilled ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE); | 634 | if (notkilled) |
635 | schedule_timeout(1); | 635 | schedule_timeout_interruptible(1); |
636 | else | ||
637 | schedule_timeout_uninterruptible(1); | ||
636 | spin_lock_irqsave(&as->lock, flags); | 638 | spin_lock_irqsave(&as->lock, flags); |
637 | i = u->flags; | 639 | i = u->flags; |
638 | spin_unlock_irqrestore(&as->lock, flags); | 640 | spin_unlock_irqrestore(&as->lock, flags); |
@@ -1102,8 +1104,10 @@ static void usbout_stop(struct usb_audiodev *as) | |||
1102 | i = u->flags; | 1104 | i = u->flags; |
1103 | spin_unlock_irqrestore(&as->lock, flags); | 1105 | spin_unlock_irqrestore(&as->lock, flags); |
1104 | while (i & (FLG_URB0RUNNING|FLG_URB1RUNNING|FLG_SYNC0RUNNING|FLG_SYNC1RUNNING)) { | 1106 | while (i & (FLG_URB0RUNNING|FLG_URB1RUNNING|FLG_SYNC0RUNNING|FLG_SYNC1RUNNING)) { |
1105 | set_current_state(notkilled ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE); | 1107 | if (notkilled) |
1106 | schedule_timeout(1); | 1108 | schedule_timeout_interruptible(1); |
1109 | else | ||
1110 | schedule_timeout_uninterruptible(1); | ||
1107 | spin_lock_irqsave(&as->lock, flags); | 1111 | spin_lock_irqsave(&as->lock, flags); |
1108 | i = u->flags; | 1112 | i = u->flags; |
1109 | spin_unlock_irqrestore(&as->lock, flags); | 1113 | spin_unlock_irqrestore(&as->lock, flags); |