summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--adb/usb_linux_client.c17
-rw-r--r--fastbootd/usb_linux_client.c17
2 files changed, 12 insertions, 22 deletions
diff --git a/adb/usb_linux_client.c b/adb/usb_linux_client.c
index fd566f4..ee6b37c 100644
--- a/adb/usb_linux_client.c
+++ b/adb/usb_linux_client.c
@@ -73,14 +73,10 @@ struct desc_v1 {
} __attribute__((packed));
struct desc_v2 {
- struct usb_functionfs_descs_head_v2 {
- __le32 magic;
- __le32 length;
- __le32 flags;
- __le32 fs_count;
- __le32 hs_count;
- __le32 ss_count;
- } __attribute__((packed)) header;
+ struct usb_functionfs_descs_head_v2 header;
+ // The rest of the structure depends on the flags in the header.
+ __le32 fs_count;
+ __le32 hs_count;
struct func_desc fs_descs, hs_descs;
} __attribute__((packed));
@@ -284,9 +280,8 @@ static void init_functionfs(struct usb_handle *h)
v2_descriptor.header.magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC_V2);
v2_descriptor.header.length = cpu_to_le32(sizeof(v2_descriptor));
v2_descriptor.header.flags = FUNCTIONFS_HAS_FS_DESC | FUNCTIONFS_HAS_HS_DESC;
- v2_descriptor.header.fs_count = 3;
- v2_descriptor.header.hs_count = 3;
- v2_descriptor.header.ss_count = 0;
+ v2_descriptor.fs_count = 3;
+ v2_descriptor.hs_count = 3;
v2_descriptor.fs_descs = fs_descriptors;
v2_descriptor.hs_descs = hs_descriptors;
diff --git a/fastbootd/usb_linux_client.c b/fastbootd/usb_linux_client.c
index beaafc3..0ef15a6 100644
--- a/fastbootd/usb_linux_client.c
+++ b/fastbootd/usb_linux_client.c
@@ -87,14 +87,10 @@ struct desc_v1 {
} __attribute__((packed));
struct desc_v2 {
- struct usb_functionfs_descs_head_v2 {
- __le32 magic;
- __le32 length;
- __le32 flags;
- __le32 fs_count;
- __le32 hs_count;
- __le32 ss_count;
- } __attribute__((packed)) header;
+ struct usb_functionfs_descs_head_v2 header;
+ // The rest of the structure depends on the flags in the header.
+ __le32 fs_count;
+ __le32 hs_count;
struct func_desc fs_descs, hs_descs;
} __attribute__((packed));
@@ -182,9 +178,8 @@ static int init_functionfs(struct usb_transport *usb_transport)
v2_descriptor.header.magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC_V2);
v2_descriptor.header.length = cpu_to_le32(sizeof(v2_descriptor));
v2_descriptor.header.flags = FUNCTIONFS_HAS_FS_DESC | FUNCTIONFS_HAS_HS_DESC;
- v2_descriptor.header.fs_count = 3;
- v2_descriptor.header.hs_count = 3;
- v2_descriptor.header.ss_count = 0;
+ v2_descriptor.fs_count = 3;
+ v2_descriptor.hs_count = 3;
v2_descriptor.fs_descs = fs_descriptors;
v2_descriptor.hs_descs = hs_descriptors;