aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorOliver Neukum <oliver@neukum.org>2010-02-27 14:57:12 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2010-03-19 10:24:17 -0400
commit338124c1f18c2c737656ac58735f040d90b23d8c (patch)
treeb763f5a797062130e481ffe4adcf6c32fdd4feb5 /drivers
parentd93d16e9aa58887feadd999ea26b7b8139e98b56 (diff)
usb: cdc-wdm: Fix deadlock between write and resume
The new runtime PM scheme allows resume() to have no locks. This fixes the deadlock. Signed-off-by: Oliver Neukum <neukum@b1-systems.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/class/cdc-wdm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/class/cdc-wdm.c b/drivers/usb/class/cdc-wdm.c
index b57490508860..189141ca4e05 100644
--- a/drivers/usb/class/cdc-wdm.c
+++ b/drivers/usb/class/cdc-wdm.c
@@ -839,10 +839,10 @@ static int wdm_resume(struct usb_interface *intf)
839 int rv; 839 int rv;
840 840
841 dev_dbg(&desc->intf->dev, "wdm%d_resume\n", intf->minor); 841 dev_dbg(&desc->intf->dev, "wdm%d_resume\n", intf->minor);
842 mutex_lock(&desc->lock); 842
843 clear_bit(WDM_SUSPENDING, &desc->flags); 843 clear_bit(WDM_SUSPENDING, &desc->flags);
844 rv = recover_from_urb_loss(desc); 844 rv = recover_from_urb_loss(desc);
845 mutex_unlock(&desc->lock); 845
846 return rv; 846 return rv;
847} 847}
848#endif 848#endif