From b20d25854d7134ed5c73bfcd852a6e3e4febdc0b Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Thu, 2 Dec 2010 04:28:53 +0000 Subject: Fixed HID hpst class driver incorrectly binding to HID devices that do not have an OUT endpoint. --- LUFA/Drivers/USB/Class/Host/HID.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'LUFA/Drivers/USB/Class') diff --git a/LUFA/Drivers/USB/Class/Host/HID.c b/LUFA/Drivers/USB/Class/Host/HID.c index e6c575e21..427dbd56d 100644 --- a/LUFA/Drivers/USB/Class/Host/HID.c +++ b/LUFA/Drivers/USB/Class/Host/HID.c @@ -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; -- cgit v1.2.3