diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2008-12-20 10:54:54 +0100 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2008-12-20 10:54:54 +0100 |
commit | 93b8eef1c098efbea2f1fc0be7e3c681f259a7e7 (patch) | |
tree | 462cc8c2bc07bbc825dab2a200891a28d8643329 /drivers/usb/gadget/f_acm.c | |
parent | Input: libps2 - handle 0xfc responses from devices (diff) | |
parent | Linux 2.6.28-rc9 (diff) | |
download | linux-93b8eef1c098efbea2f1fc0be7e3c681f259a7e7.tar.xz linux-93b8eef1c098efbea2f1fc0be7e3c681f259a7e7.zip |
Merge commit 'v2.6.28-rc9' into next
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", |