From a28abe6ccbffbad25a677478b56bb39cbc01b1ed Mon Sep 17 00:00:00 2001 From: "Eugeny S. Mints" Date: Sat, 2 Sep 2006 03:59:19 -0700 Subject: [PATCH] --- yaml --- r: 36442 b: refs/heads/master c: 80f8af0c59385b41564a3ae670f94a1b4caa43b2 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/usb/gadget/serial.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index ea66a12f7ac0..e139df438545 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0e3c8c26c7013b9d34929857598fd86ff1c22a6c +refs/heads/master: 80f8af0c59385b41564a3ae670f94a1b4caa43b2 diff --git a/trunk/drivers/usb/gadget/serial.c b/trunk/drivers/usb/gadget/serial.c index e762aa19ab0a..b893e3118e1b 100644 --- a/trunk/drivers/usb/gadget/serial.c +++ b/trunk/drivers/usb/gadget/serial.c @@ -1120,12 +1120,15 @@ static int gs_send(struct gs_dev *dev) gs_debug_level(3, "gs_send: len=%d, 0x%2.2x 0x%2.2x 0x%2.2x ...\n", len, *((unsigned char *)req->buf), *((unsigned char *)req->buf+1), *((unsigned char *)req->buf+2)); list_del(&req_entry->re_entry); req->length = len; + spin_unlock_irqrestore(&dev->dev_lock, flags); if ((ret=usb_ep_queue(ep, req, GFP_ATOMIC))) { printk(KERN_ERR "gs_send: cannot queue read request, ret=%d\n", ret); + spin_lock_irqsave(&dev->dev_lock, flags); break; } + spin_lock_irqsave(&dev->dev_lock, flags); } else { break; }