diff options
Diffstat (limited to 'drivers/usb/class/cdc-wdm.c')
-rw-r--r-- | drivers/usb/class/cdc-wdm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/class/cdc-wdm.c b/drivers/usb/class/cdc-wdm.c index 023d271c2614..07aa67611b65 100644 --- a/drivers/usb/class/cdc-wdm.c +++ b/drivers/usb/class/cdc-wdm.c | |||
@@ -786,13 +786,13 @@ static void wdm_disconnect(struct usb_interface *intf) | |||
786 | /* to terminate pending flushes */ | 786 | /* to terminate pending flushes */ |
787 | clear_bit(WDM_IN_USE, &desc->flags); | 787 | clear_bit(WDM_IN_USE, &desc->flags); |
788 | spin_unlock_irqrestore(&desc->iuspin, flags); | 788 | spin_unlock_irqrestore(&desc->iuspin, flags); |
789 | wake_up_all(&desc->wait); | ||
789 | mutex_lock(&desc->rlock); | 790 | mutex_lock(&desc->rlock); |
790 | mutex_lock(&desc->wlock); | 791 | mutex_lock(&desc->wlock); |
791 | kill_urbs(desc); | 792 | kill_urbs(desc); |
792 | cancel_work_sync(&desc->rxwork); | 793 | cancel_work_sync(&desc->rxwork); |
793 | mutex_unlock(&desc->wlock); | 794 | mutex_unlock(&desc->wlock); |
794 | mutex_unlock(&desc->rlock); | 795 | mutex_unlock(&desc->rlock); |
795 | wake_up_all(&desc->wait); | ||
796 | if (!desc->count) | 796 | if (!desc->count) |
797 | cleanup(desc); | 797 | cleanup(desc); |
798 | mutex_unlock(&wdm_mutex); | 798 | mutex_unlock(&wdm_mutex); |