diff options
author | Colin Cross <ccross@android.com> | 2012-03-05 13:29:45 -0800 |
---|---|---|
committer | Paul Kocialkowski <contact@paulk.fr> | 2014-05-02 20:47:36 +0200 |
commit | 4e00bf27d554a46fe1db9297d7ae4e0c3a8bfb92 (patch) | |
tree | 1d8b7adec94eee199b6f7d03f7e42595e592de7a /drivers/usb | |
parent | bb0bffd39ddd1ad20f8f1063e77734bd08cdedf5 (diff) | |
download | kernel_goldelico_gta04-4e00bf27d554a46fe1db9297d7ae4e0c3a8bfb92.zip kernel_goldelico_gta04-4e00bf27d554a46fe1db9297d7ae4e0c3a8bfb92.tar.gz kernel_goldelico_gta04-4e00bf27d554a46fe1db9297d7ae4e0c3a8bfb92.tar.bz2 |
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')
-rw-r--r-- | drivers/usb/gadget/f_adb.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/gadget/f_adb.c b/drivers/usb/gadget/f_adb.c index 5415353..4433a4d 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; |