Harald Welte has submitted this change and it was merged. (
https://gerrit.osmocom.org/12498 )
Change subject: fix USB enabling
......................................................................
fix USB enabling
Change-Id: I22cdd77648ac21490909423bf529fb31f30d6af0
---
M usb/class/dfu/device/dfudf.c
1 file changed, 22 insertions(+), 24 deletions(-)
Approvals:
Jenkins Builder: Verified
Harald Welte: Looks good to me, approved
diff --git a/usb/class/dfu/device/dfudf.c b/usb/class/dfu/device/dfudf.c
index 7747a23..faf12c1 100644
--- a/usb/class/dfu/device/dfudf.c
+++ b/usb/class/dfu/device/dfudf.c
@@ -46,33 +46,31 @@
usb_iface_desc_t ifc_desc;
uint8_t * ifc;
- uint8_t i;
ifc = desc->sod;
- for (i = 0; i < 2; i++) {
- if (NULL == ifc) {
- return ERR_NOT_FOUND;
- }
-
- ifc_desc.bInterfaceNumber = ifc[2];
- ifc_desc.bInterfaceClass = ifc[5];
-
- if (USB_DFU_CLASS == ifc_desc.bInterfaceClass) {
- if (func_data->func_iface == ifc_desc.bInterfaceNumber)
{ // Initialized
- return ERR_ALREADY_INITIALIZED;
- } else if (func_data->func_iface != 0xFF) { // Occupied
- return ERR_NO_RESOURCE;
- } else {
- func_data->func_iface =
ifc_desc.bInterfaceNumber;
- }
- } else { // Not supported by this function driver
- return ERR_NOT_FOUND;
- }
-
- // there are no endpoint to install since DFU uses only the
control endpoint
-
- ifc = usb_find_desc(usb_desc_next(desc->sod), desc->eod,
USB_DT_INTERFACE);
+ if (NULL == ifc) {
+ return ERR_NOT_FOUND;
}
+
+ ifc_desc.bInterfaceNumber = ifc[2];
+ ifc_desc.bInterfaceClass = ifc[5];
+
+ if (USB_DFU_CLASS == ifc_desc.bInterfaceClass) {
+ if (func_data->func_iface == ifc_desc.bInterfaceNumber) { //
Initialized
+ return ERR_ALREADY_INITIALIZED;
+ } else if (func_data->func_iface != 0xFF) { // Occupied
+ return ERR_NO_RESOURCE;
+ } else {
+ func_data->func_iface = ifc_desc.bInterfaceNumber;
+ }
+ } else { // Not supported by this function driver
+ return ERR_NOT_FOUND;
+ }
+
+ // there are no endpoint to install since DFU uses only the control
endpoint
+
+ ifc = usb_find_desc(usb_desc_next(desc->sod), desc->eod,
USB_DT_INTERFACE);
+
// Installed
_dfudf_funcd.enabled = true;
return ERR_NONE;
--
To view, visit https://gerrit.osmocom.org/12498
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-asf4-dfu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I22cdd77648ac21490909423bf529fb31f30d6af0
Gerrit-Change-Number: 12498
Gerrit-PatchSet: 3
Gerrit-Owner: Kévin Redon <[email protected]>
Gerrit-Reviewer: Harald Welte <[email protected]>
Gerrit-Reviewer: Jenkins Builder (1000002)