Fixed HID hpst class driver incorrectly binding to HID devices that do not have an...
authorDean Camera <dean@fourwalledcubicle.com>
Thu, 2 Dec 2010 04:28:53 +0000 (04:28 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Thu, 2 Dec 2010 04:28:53 +0000 (04:28 +0000)
LUFA/Drivers/USB/Class/Host/HID.c
LUFA/ManPages/ChangeLog.txt

index e6c575e..427dbd5 100644 (file)
@@ -88,7 +88,7 @@ uint8_t HID_Host_ConfigurePipes(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo
                USB_Descriptor_Endpoint_t* EndpointData = DESCRIPTOR_PCAST(ConfigDescriptorData, USB_Descriptor_Endpoint_t);
 
                if (EndpointData->EndpointAddress & ENDPOINT_DESCRIPTOR_DIR_IN)
-                 DataINEndpoint = EndpointData;
+                 DataINEndpoint  = EndpointData;
                else
                  DataOUTEndpoint = EndpointData;
        }
@@ -115,6 +115,9 @@ uint8_t HID_Host_ConfigurePipes(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo
                }
                else if (PipeNum == HIDInterfaceInfo->Config.DataOUTPipeNumber)
                {
+                       if (DataOUTEndpoint == NULL)
+                         continue;
+               
                        Size            = DataOUTEndpoint->EndpointSize;
                        EndpointAddress = DataOUTEndpoint->EndpointAddress;
                        Token           = PIPE_TOKEN_OUT;
index 494f179..025e5bf 100644 (file)
@@ -25,6 +25,7 @@
   *  <b>Fixed:</b>
   *  - Core:
   *   - Fixed broken USBFOO board drivers due to missing BOARD_USBFOO define
+  *   - Fixed HID hpst class driver incorrectly binding to HID devices that do not have an OUT endpoint
   *  - Library Applications:
   *   - Fixed Benito project discarding incoming data from the USB virtual serial port when the USART is busy
   *   - Fixed broken DFU bootloader, added XPLAIN support for bootloader start when XCK jumpered to ground