diff options
| author | Dean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28> | 2010-12-02 04:28:53 +0000 |
|---|---|---|
| committer | Dean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28> | 2010-12-02 04:28:53 +0000 |
| commit | f9fbd0154a21b8a775df04530784909db5dc2a57 (patch) | |
| tree | 8a5baab95c537d328dc4a0c695148393077e6c98 /LUFA/Drivers/USB/Class | |
| parent | 15bde77cf3c3c8a47e3ce4be8148bffed0c79317 (diff) | |
Fixed HID hpst class driver incorrectly binding to HID devices that do not have an OUT endpoint.
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1600 d5102386-fcda-11dd-9fdb-3debd5008f28
Diffstat (limited to 'LUFA/Drivers/USB/Class')
| -rw-r--r-- | LUFA/Drivers/USB/Class/Host/HID.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/LUFA/Drivers/USB/Class/Host/HID.c b/LUFA/Drivers/USB/Class/Host/HID.c index e6c575e2..427dbd56 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; |
