1
0
Fork 0
forked from len0rd/rockbox

only send a Charging Only interface if nothing else is sent

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16499 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Frank Gevaerts 2008-03-03 12:51:32 +00:00
parent a9afca99a8
commit c270b7a289

View file

@ -631,14 +631,6 @@ static void usb_core_control_request_handler(struct usb_ctrlrequest* req)
} }
size = sizeof(struct usb_config_descriptor); size = sizeof(struct usb_config_descriptor);
#ifdef USB_CHARGING_ONLY
if(usb_core_charging_enabled){
charging_interface_descriptor.bInterfaceNumber=interface_number;
interface_number++;
memcpy(&response_data[size],&charging_interface_descriptor,sizeof(struct usb_interface_descriptor));
size += sizeof(struct usb_interface_descriptor);
}
#endif
#ifdef USB_STORAGE #ifdef USB_STORAGE
if(usb_core_storage_enabled){ if(usb_core_storage_enabled){
mass_storage_ep_in_descriptor.wMaxPacketSize=max_packet_size; mass_storage_ep_in_descriptor.wMaxPacketSize=max_packet_size;
@ -681,6 +673,14 @@ static void usb_core_control_request_handler(struct usb_ctrlrequest* req)
memcpy(&response_data[size],&benchmark_ep_out_descriptor,sizeof(struct usb_endpoint_descriptor)); memcpy(&response_data[size],&benchmark_ep_out_descriptor,sizeof(struct usb_endpoint_descriptor));
size += sizeof(struct usb_endpoint_descriptor); size += sizeof(struct usb_endpoint_descriptor);
} }
#endif
#ifdef USB_CHARGING_ONLY
if(usb_core_charging_enabled && interface_number == 0){
charging_interface_descriptor.bInterfaceNumber=interface_number;
interface_number++;
memcpy(&response_data[size],&charging_interface_descriptor,sizeof(struct usb_interface_descriptor));
size += sizeof(struct usb_interface_descriptor);
}
#endif #endif
config_descriptor.bNumInterfaces=interface_number; config_descriptor.bNumInterfaces=interface_number;
config_descriptor.wTotalLength = size; config_descriptor.wTotalLength = size;