usb: gadget: inode.c: fix unbalanced spin_lock in ep0_write
Fix bad unlock balance: ep0_write enter with the locks locked from inode.c:1769, hence it must exit with spinlock held to avoid double unlock in dev_config. Signed-off-by: David Eccher <d.eccher@gmail.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
d0450272a6
commit
b7bd98b7db
|
@ -1137,10 +1137,9 @@ ep0_write (struct file *fd, const char __user *buf, size_t len, loff_t *ptr)
|
|||
dev->gadget->ep0, dev->req,
|
||||
GFP_KERNEL);
|
||||
}
|
||||
spin_lock_irq(&dev->lock);
|
||||
if (retval < 0) {
|
||||
spin_lock_irq (&dev->lock);
|
||||
clean_req (dev->gadget->ep0, dev->req);
|
||||
spin_unlock_irq (&dev->lock);
|
||||
} else
|
||||
retval = len;
|
||||
|
||||
|
|
Loading…
Reference in New Issue