diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-11-18 21:37:07 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-11-18 21:37:07 +0100 |
commit | 5177dc3f2b3220b2dcfcf35eb9e6ec53ee818231 (patch) | |
tree | 29dd80a7b33426d0890aa07b5864224557c62af7 /drivers/usb/gadget/f_acm.c | |
parent | tracing: kernel/trace/trace.c: introduce missing kfree() (diff) | |
parent | Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block (diff) | |
download | linux-5177dc3f2b3220b2dcfcf35eb9e6ec53ee818231.tar.xz linux-5177dc3f2b3220b2dcfcf35eb9e6ec53ee818231.zip |
Merge branch 'linus' into tracing/urgent
Diffstat (limited to 'drivers/usb/gadget/f_acm.c')
-rw-r--r-- | drivers/usb/gadget/f_acm.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/gadget/f_acm.c b/drivers/usb/gadget/f_acm.c index 5ee1590b8e9c..c1d34df0b157 100644 --- a/drivers/usb/gadget/f_acm.c +++ b/drivers/usb/gadget/f_acm.c @@ -463,7 +463,11 @@ static int acm_cdc_notify(struct f_acm *acm, u8 type, u16 value, notify->wLength = cpu_to_le16(length); memcpy(buf, data, length); + /* ep_queue() can complete immediately if it fills the fifo... */ + spin_unlock(&acm->lock); status = usb_ep_queue(ep, req, GFP_ATOMIC); + spin_lock(&acm->lock); + if (status < 0) { ERROR(acm->port.func.config->cdev, "acm ttyGS%d can't notify serial state, %d\n", |