summaryrefslogtreecommitdiffstats
path: root/adb/daemon/usb.cpp
diff options
context:
space:
mode:
authorBadhri Jagan Sridharan <Badhri@google.com>2017-03-07 17:30:03 -0800
committerBadhri Jagan Sridharan <Badhri@google.com>2017-03-07 19:20:54 -0800
commit43fd1a4ea72ec96de2790a6703722e900b354de6 (patch)
tree28647404db7c41ca59f5c084a01da97aadfe351b /adb/daemon/usb.cpp
parent5811a434fc079a50fbf830dc001b0cb46fd4f2d0 (diff)
downloadsystem_core-43fd1a4ea72ec96de2790a6703722e900b354de6.tar.gz
system_core-43fd1a4ea72ec96de2790a6703722e900b354de6.tar.bz2
system_core-43fd1a4ea72ec96de2790a6703722e900b354de6.zip
adb: Do not signal gaget stack unless descriptors are written
While recovering from endpoint errors, the gadget stack was being signalled even when desriptors were NOT being rewritten. Avoid this as this might cause enumeration loops. Bug: 36036550 Change-Id: Iff2b2fc8cded001ef3c77dc170dce3b96848970c
Diffstat (limited to 'adb/daemon/usb.cpp')
-rw-r--r--adb/daemon/usb.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/adb/daemon/usb.cpp b/adb/daemon/usb.cpp
index c08b922a6..92e9039a7 100644
--- a/adb/daemon/usb.cpp
+++ b/adb/daemon/usb.cpp
@@ -283,6 +283,8 @@ bool init_functionfs(struct usb_handle* h) {
D("[ %s: writing strings failed: errno=%d]", USB_FFS_ADB_EP0, errno);
goto err;
}
+ //Signal only when writing the descriptors to ffs
+ android::base::SetProperty("sys.usb.ffs.ready", "1");
}
h->bulk_out = adb_open(USB_FFS_ADB_OUT, O_RDWR);
@@ -358,7 +360,6 @@ static void usb_ffs_open_thread(void* x) {
}
std::this_thread::sleep_for(1s);
}
- android::base::SetProperty("sys.usb.ffs.ready", "1");
D("[ usb_thread - registering device ]");
register_usb_transport(usb, 0, 0, 1);