diff options
author | Dean Camera <[email protected]> | 2009-11-24 01:56:59 +0000 |
---|---|---|
committer | Dean Camera <[email protected]> | 2009-11-24 01:56:59 +0000 |
commit | e4bf986bb351121a39076a7c85c09cd40b43f123 (patch) | |
tree | 9a7a7805c124c0ce02f4e646a543e9c33980eda9 /LUFA/Drivers/USB | |
parent | 702bec892da743c5b2d57b6a3fa2404d4d17e928 (diff) | |
download | qmk_firmware-e4bf986bb351121a39076a7c85c09cd40b43f123.tar.gz qmk_firmware-e4bf986bb351121a39076a7c85c09cd40b43f123.zip |
Fixed broken USB_GetNextDescriptor() function causing the descriptor to jump ahead double the expected amount.
Fixed Pipe_IsEndpointBound() not masking the given Endpoint Address against PIPE_EPNUM_MASK.
Diffstat (limited to 'LUFA/Drivers/USB')
-rw-r--r-- | LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h | 6 | ||||
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/Pipe.c | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h index 3c51393f19..84a6f0cf06 100644 --- a/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h +++ b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h @@ -109,7 +109,7 @@ *
* \see \ref USB_GetNextDescriptorComp function for more details
*/
- typedef uint8_t (* const ConfigComparatorPtr_t)(void* const);
+ typedef uint8_t (* const ConfigComparatorPtr_t)(void*);
/* Function Prototypes: */
/** Searches for the next descriptor in the given configuration descriptor using a premade comparator
@@ -263,8 +263,8 @@ {
uint16_t CurrDescriptorSize = DESCRIPTOR_CAST(*CurrConfigLoc, USB_Descriptor_Header_t).Size;
- *((uint8_t**)CurrConfigLoc) += CurrDescriptorSize;
- *BytesRem -= CurrDescriptorSize;
+ *CurrConfigLoc += CurrDescriptorSize;
+ *BytesRem -= CurrDescriptorSize;
}
/* Disable C linkage for C++ Compilers: */
diff --git a/LUFA/Drivers/USB/LowLevel/Pipe.c b/LUFA/Drivers/USB/LowLevel/Pipe.c index 3f5272a36e..ccab074133 100644 --- a/LUFA/Drivers/USB/LowLevel/Pipe.c +++ b/LUFA/Drivers/USB/LowLevel/Pipe.c @@ -78,7 +78,7 @@ bool Pipe_IsEndpointBound(const uint8_t EndpointAddress) {
Pipe_SelectPipe(PNum);
- if (Pipe_IsConfigured() && (Pipe_BoundEndpointNumber() == EndpointAddress))
+ if (Pipe_IsConfigured() && (Pipe_BoundEndpointNumber() == (EndpointAddress & PIPE_EPNUM_MASK)))
return true;
}
|