- Instead of stalling at Device Qualification and Debug descriptors, return 0blockKey
default: | default: | ||||
fail = -1; | fail = -1; | ||||
break; | break; | ||||
// Cleanup lsusb errors, just return 0 instead of stalling | |||||
case USB_DESC_DEVQUAL: | |||||
case USB_DESC_DEBUG: | |||||
usb_ep0_tx_cp(&zero16, sizeof(zero16), req->wLength, NULL, NULL); | |||||
fail = 0; | |||||
break; | |||||
} | } | ||||
/* we set fail already, so we can go directly to `err' */ | /* we set fail already, so we can go directly to `err' */ | ||||
goto err; | goto err; |
USB_DESC_EP = 5, | USB_DESC_EP = 5, | ||||
USB_DESC_DEVQUAL = 6, | USB_DESC_DEVQUAL = 6, | ||||
USB_DESC_OTHERSPEED = 7, | USB_DESC_OTHERSPEED = 7, | ||||
USB_DESC_POWER = 8 | |||||
USB_DESC_POWER = 8, | |||||
USB_DESC_OTG = 9, | |||||
USB_DESC_DEBUG = 10, | |||||
}; | }; | ||||
struct usb_desc_type_t { | struct usb_desc_type_t { |