ANDROID: usb: gadget: f_accessory: update SS/SSP descriptors

Currently, only HS descriptors will be updated with endpoint address
during binding process. According to current max_speed in configfs,
this patch will also update SS/SSP descriptors with endpoint address.

Bug: 162562782
Signed-off-by: Ray Chi <raychi@google.com>
Change-Id: I67983ef47df7ac567ec1d3af80921c39c98a545d
This commit is contained in:
Ray Chi
2021-05-13 13:47:45 +08:00
parent 3d24408745
commit 41fe558317

View File

@@ -1115,12 +1115,22 @@ __acc_function_bind(struct usb_configuration *c,
return ret;
/* support high speed hardware */
if (gadget_is_dualspeed(c->cdev->gadget)) {
acc_highspeed_in_desc.bEndpointAddress =
acc_fullspeed_in_desc.bEndpointAddress;
acc_highspeed_out_desc.bEndpointAddress =
acc_fullspeed_out_desc.bEndpointAddress;
}
acc_highspeed_in_desc.bEndpointAddress =
acc_fullspeed_in_desc.bEndpointAddress;
acc_highspeed_out_desc.bEndpointAddress =
acc_fullspeed_out_desc.bEndpointAddress;
/* support super speed hardware */
acc_superspeed_in_desc.bEndpointAddress =
acc_fullspeed_in_desc.bEndpointAddress;
acc_superspeed_out_desc.bEndpointAddress =
acc_fullspeed_out_desc.bEndpointAddress;
/* support super speed plus hardware */
acc_superspeedplus_in_desc.bEndpointAddress =
acc_fullspeed_in_desc.bEndpointAddress;
acc_superspeedplus_out_desc.bEndpointAddress =
acc_fullspeed_out_desc.bEndpointAddress;
DBG(cdev, "%s speed %s: IN/%s, OUT/%s\n",
gadget_is_dualspeed(c->cdev->gadget) ? "dual" : "full",