summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/f_adb.c
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2012-03-05 13:29:45 -0800
committerColin Cross <ccross@android.com>2012-04-09 13:58:01 -0700
commit42582f2ee42d5fb7a7f3885be0d4b7c1655528c0 (patch)
treeb3324244d5d0fcc08738ed32a1dbae21ceff1931 /drivers/usb/gadget/f_adb.c
parent3982cc1aa5f4b8f858080108bd4a867a30a2939d (diff)
usb: gadget: adb: allow freezing in adb_read
wait_event_interruptible in adb_read might return -ERESTARTSYS if userspace is frozen during adb_read or another signal is delivered to adb. If so, don't set dev->error to avoid resetting the adb connection. Change-Id: I5a7baa013a9a3a3b5305de7e6a0d18546a560018 Signed-off-by: Colin Cross <ccross@android.com>
Diffstat (limited to 'drivers/usb/gadget/f_adb.c')
-rw-r--r--drivers/usb/gadget/f_adb.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/gadget/f_adb.c b/drivers/usb/gadget/f_adb.c
index 5415353ab2c..4433a4dbdfb 100644
--- a/drivers/usb/gadget/f_adb.c
+++ b/drivers/usb/gadget/f_adb.c
@@ -313,7 +313,8 @@ requeue_req:
/* wait for a request to complete */
ret = wait_event_interruptible(dev->read_wq, dev->rx_done);
if (ret < 0) {
- dev->error = 1;
+ if (ret != -ERESTARTSYS)
+ dev->error = 1;
r = ret;
usb_ep_dequeue(dev->ep_out, req);
goto done;