diff options
author | Badhri Jagan Sridharan <Badhri@google.com> | 2017-03-07 17:30:03 -0800 |
---|---|---|
committer | Badhri Jagan Sridharan <Badhri@google.com> | 2017-03-07 19:20:54 -0800 |
commit | 43fd1a4ea72ec96de2790a6703722e900b354de6 (patch) | |
tree | 28647404db7c41ca59f5c084a01da97aadfe351b /adb/daemon/usb.cpp | |
parent | 5811a434fc079a50fbf830dc001b0cb46fd4f2d0 (diff) | |
download | system_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.cpp | 3 |
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); |