aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authore-chip <egor.gorlin@gmail.com>2016-09-28 14:12:33 +0600
committere-chip <egor.gorlin@gmail.com>2016-09-28 14:12:33 +0600
commit66db760a3338667bfdd02eb24e0e7f1319ca3ec1 (patch)
tree89410fcdef931c6f9a3b515bb4f260623b2979b2
parentdef392aca09dd0d5a29c1c390accb44ff76db280 (diff)
downloadlufa-66db760a3338667bfdd02eb24e0e7f1319ca3ec1.tar.gz
lufa-66db760a3338667bfdd02eb24e0e7f1319ca3ec1.tar.bz2
lufa-66db760a3338667bfdd02eb24e0e7f1319ca3ec1.zip
Fix USB_SetHIDReportItemInfo() function.
Bits applying loop worked incorrect on large reports. Seems to me like a copy/paste problem from USB_GetHIDReportItemInfo().
-rw-r--r--LUFA/Drivers/USB/Class/Common/HIDParser.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/LUFA/Drivers/USB/Class/Common/HIDParser.c b/LUFA/Drivers/USB/Class/Common/HIDParser.c
index c01ceaf78..00100a64a 100644
--- a/LUFA/Drivers/USB/Class/Common/HIDParser.c
+++ b/LUFA/Drivers/USB/Class/Common/HIDParser.c
@@ -364,8 +364,8 @@ void USB_SetHIDReportItemInfo(uint8_t* ReportData,
while (DataBitsRem--)
{
- if (ReportItem->Value & (1 << (CurrentBit % 8)))
- ReportData[CurrentBit / 8] |= BitMask;
+ if (ReportItem->Value & BitMask)
+ ReportData[CurrentBit / 8] |= (1 << (CurrentBit % 8));
CurrentBit++;
BitMask <<= 1;