Revert "adb: close ep0 on disconnection."
This reverts commit 69e97e4bee.
Bug: 28932120
Change-Id: I5e2569abed316c089886556c432bfe59bca08549
This commit is contained in:
parent
b598abf175
commit
57de0514f0
1 changed files with 26 additions and 25 deletions
|
|
@ -400,33 +400,35 @@ static bool init_functionfs(struct usb_handle *h)
|
||||||
v2_descriptor.os_header = os_desc_header;
|
v2_descriptor.os_header = os_desc_header;
|
||||||
v2_descriptor.os_desc = os_desc_compat;
|
v2_descriptor.os_desc = os_desc_compat;
|
||||||
|
|
||||||
D("OPENING %s", USB_FFS_ADB_EP0);
|
if (h->control < 0) { // might have already done this before
|
||||||
h->control = adb_open(USB_FFS_ADB_EP0, O_RDWR);
|
D("OPENING %s", USB_FFS_ADB_EP0);
|
||||||
if (h->control < 0) {
|
h->control = adb_open(USB_FFS_ADB_EP0, O_RDWR);
|
||||||
D("[ %s: cannot open control endpoint: errno=%d]", USB_FFS_ADB_EP0, errno);
|
if (h->control < 0) {
|
||||||
goto err;
|
D("[ %s: cannot open control endpoint: errno=%d]", USB_FFS_ADB_EP0, errno);
|
||||||
}
|
|
||||||
|
|
||||||
ret = adb_write(h->control, &v2_descriptor, sizeof(v2_descriptor));
|
|
||||||
if (ret < 0) {
|
|
||||||
v1_descriptor.header.magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC);
|
|
||||||
v1_descriptor.header.length = cpu_to_le32(sizeof(v1_descriptor));
|
|
||||||
v1_descriptor.header.fs_count = 3;
|
|
||||||
v1_descriptor.header.hs_count = 3;
|
|
||||||
v1_descriptor.fs_descs = fs_descriptors;
|
|
||||||
v1_descriptor.hs_descs = hs_descriptors;
|
|
||||||
D("[ %s: Switching to V1_descriptor format errno=%d ]", USB_FFS_ADB_EP0, errno);
|
|
||||||
ret = adb_write(h->control, &v1_descriptor, sizeof(v1_descriptor));
|
|
||||||
if (ret < 0) {
|
|
||||||
D("[ %s: write descriptors failed: errno=%d ]", USB_FFS_ADB_EP0, errno);
|
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
ret = adb_write(h->control, &strings, sizeof(strings));
|
ret = adb_write(h->control, &v2_descriptor, sizeof(v2_descriptor));
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
D("[ %s: writing strings failed: errno=%d]", USB_FFS_ADB_EP0, errno);
|
v1_descriptor.header.magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC);
|
||||||
goto err;
|
v1_descriptor.header.length = cpu_to_le32(sizeof(v1_descriptor));
|
||||||
|
v1_descriptor.header.fs_count = 3;
|
||||||
|
v1_descriptor.header.hs_count = 3;
|
||||||
|
v1_descriptor.fs_descs = fs_descriptors;
|
||||||
|
v1_descriptor.hs_descs = hs_descriptors;
|
||||||
|
D("[ %s: Switching to V1_descriptor format errno=%d ]", USB_FFS_ADB_EP0, errno);
|
||||||
|
ret = adb_write(h->control, &v1_descriptor, sizeof(v1_descriptor));
|
||||||
|
if (ret < 0) {
|
||||||
|
D("[ %s: write descriptors failed: errno=%d ]", USB_FFS_ADB_EP0, errno);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = adb_write(h->control, &strings, sizeof(strings));
|
||||||
|
if (ret < 0) {
|
||||||
|
D("[ %s: writing strings failed: errno=%d]", USB_FFS_ADB_EP0, errno);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
h->bulk_out = adb_open(USB_FFS_ADB_OUT, O_RDWR);
|
h->bulk_out = adb_open(USB_FFS_ADB_OUT, O_RDWR);
|
||||||
|
|
@ -554,7 +556,6 @@ static void usb_ffs_close(usb_handle *h) {
|
||||||
h->kicked = false;
|
h->kicked = false;
|
||||||
adb_close(h->bulk_out);
|
adb_close(h->bulk_out);
|
||||||
adb_close(h->bulk_in);
|
adb_close(h->bulk_in);
|
||||||
adb_close(h->control);
|
|
||||||
// Notify usb_adb_open_thread to open a new connection.
|
// Notify usb_adb_open_thread to open a new connection.
|
||||||
adb_mutex_lock(&h->lock);
|
adb_mutex_lock(&h->lock);
|
||||||
h->open_new_connection = true;
|
h->open_new_connection = true;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue