Fixed HID hpst class driver incorrectly binding to HID devices that do not have an...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / HID.c
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;