summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/usbstack/usb_core.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/firmware/usbstack/usb_core.c b/firmware/usbstack/usb_core.c
index eef963cf8a..64690a1d32 100644
--- a/firmware/usbstack/usb_core.c
+++ b/firmware/usbstack/usb_core.c
@@ -631,14 +631,6 @@ static void usb_core_control_request_handler(struct usb_ctrlrequest* req)
631 } 631 }
632 size = sizeof(struct usb_config_descriptor); 632 size = sizeof(struct usb_config_descriptor);
633 633
634#ifdef USB_CHARGING_ONLY
635 if(usb_core_charging_enabled){
636 charging_interface_descriptor.bInterfaceNumber=interface_number;
637 interface_number++;
638 memcpy(&response_data[size],&charging_interface_descriptor,sizeof(struct usb_interface_descriptor));
639 size += sizeof(struct usb_interface_descriptor);
640 }
641#endif
642#ifdef USB_STORAGE 634#ifdef USB_STORAGE
643 if(usb_core_storage_enabled){ 635 if(usb_core_storage_enabled){
644 mass_storage_ep_in_descriptor.wMaxPacketSize=max_packet_size; 636 mass_storage_ep_in_descriptor.wMaxPacketSize=max_packet_size;
@@ -682,6 +674,14 @@ static void usb_core_control_request_handler(struct usb_ctrlrequest* req)
682 size += sizeof(struct usb_endpoint_descriptor); 674 size += sizeof(struct usb_endpoint_descriptor);
683 } 675 }
684#endif 676#endif
677#ifdef USB_CHARGING_ONLY
678 if(usb_core_charging_enabled && interface_number == 0){
679 charging_interface_descriptor.bInterfaceNumber=interface_number;
680 interface_number++;
681 memcpy(&response_data[size],&charging_interface_descriptor,sizeof(struct usb_interface_descriptor));
682 size += sizeof(struct usb_interface_descriptor);
683 }
684#endif
685 config_descriptor.bNumInterfaces=interface_number; 685 config_descriptor.bNumInterfaces=interface_number;
686 config_descriptor.wTotalLength = size; 686 config_descriptor.wTotalLength = size;
687 memcpy(&response_data[0],&config_descriptor,sizeof(struct usb_config_descriptor)); 687 memcpy(&response_data[0],&config_descriptor,sizeof(struct usb_config_descriptor));