From b9dd51cd632c1a8cff18f77b4f09c33bdf804768 Mon Sep 17 00:00:00 2001 From: Dean Camera <dean@fourwalledcubicle.com> Date: Mon, 27 Jul 2009 10:55:21 +0000 Subject: Collapse configuration descriptor size retrieval and size testing into a single if statement within the new host mode class driver demos for clarity. --- Demos/Host/ClassDriver/CDCHost/CDCHost.c | 13 +++---------- Demos/Host/ClassDriver/MouseHost/MouseHost.c | 13 +++---------- 2 files changed, 6 insertions(+), 20 deletions(-) (limited to 'Demos') diff --git a/Demos/Host/ClassDriver/CDCHost/CDCHost.c b/Demos/Host/ClassDriver/CDCHost/CDCHost.c index b74c39418..291e8359e 100644 --- a/Demos/Host/ClassDriver/CDCHost/CDCHost.c +++ b/Demos/Host/ClassDriver/CDCHost/CDCHost.c @@ -77,17 +77,10 @@ int main(void) uint16_t ConfigDescriptorSize; uint8_t ConfigDescriptorData[512]; - if (USB_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, NULL) != HOST_SENDCONTROL_Successful) + if ((USB_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, NULL) != HOST_SENDCONTROL_Successful) || + (ConfigDescriptorSize > sizeof(ConfigDescriptorData))) { - printf("Error Retrieving Device Descriptor.\r\n"); - LEDs_SetAllLEDs(LEDMASK_USB_ERROR); - USB_HostState = HOST_STATE_WaitForDeviceRemoval; - break; - } - - if (ConfigDescriptorSize > 512) - { - printf("Device Descriptor Too Large To Process.\r\n"); + printf("Error Retrieving Configuration Descriptor.\r\n"); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; diff --git a/Demos/Host/ClassDriver/MouseHost/MouseHost.c b/Demos/Host/ClassDriver/MouseHost/MouseHost.c index c2850cfec..6913ec3cb 100644 --- a/Demos/Host/ClassDriver/MouseHost/MouseHost.c +++ b/Demos/Host/ClassDriver/MouseHost/MouseHost.c @@ -79,22 +79,15 @@ int main(void) uint16_t ConfigDescriptorSize; uint8_t ConfigDescriptorData[512]; - if (USB_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, NULL) != HOST_SENDCONTROL_Successful) + if ((USB_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, NULL) != HOST_SENDCONTROL_Successful) || + (ConfigDescriptorSize > sizeof(ConfigDescriptorData))) { - printf("Error Retrieving Device Descriptor.\r\n"); + printf("Error Retrieving Configuration Descriptor.\r\n"); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - if (ConfigDescriptorSize > 512) - { - printf("Device Descriptor Too Large To Process.\r\n"); - LEDs_SetAllLEDs(LEDMASK_USB_ERROR); - USB_HostState = HOST_STATE_WaitForDeviceRemoval; - break; - } - USB_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, ConfigDescriptorData); if (HID_Host_ConfigurePipes(&Mouse_HID_Interface, -- cgit v1.2.3