Fixed Device mode HID Class driver not explicitly initializing the ReportSize parameter to zero before calling callback routine, so that ignored callbacks don't cause incorrect data to be sent.

pull/1469/head
Dean Camera 15 years ago
parent 922e60192d
commit 94c899d7b7

@ -48,8 +48,8 @@ void HID_Device_ProcessControlRequest(USB_ClassInfo_HID_Device_t* const HIDInter
{
Endpoint_ClearSETUP();
uint16_t ReportINSize;
uint8_t ReportID = (USB_ControlRequest.wValue & 0xFF);
uint16_t ReportINSize = 0;
uint8_t ReportID = (USB_ControlRequest.wValue & 0xFF);
memset(HIDInterfaceInfo->Config.PrevReportINBuffer, 0, HIDInterfaceInfo->Config.PrevReportINBufferSize);
@ -151,8 +151,8 @@ void HID_Device_USBTask(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo)
if (Endpoint_IsReadWriteAllowed())
{
uint8_t ReportINData[HIDInterfaceInfo->Config.PrevReportINBufferSize];
uint8_t ReportID = 0;
uint16_t ReportINSize;
uint8_t ReportID = 0;
uint16_t ReportINSize = 0;
memset(ReportINData, 0, sizeof(ReportINData));

@ -43,6 +43,8 @@
* - Added hardware USART receive interrupt and software buffering to the Benito project to ensure received data is not
* missed or corrupted
* - Fixed Device mode HID Class driver always sending IN packets, even when nothing to report
* - Fixed Device mode HID Class driver not explicitly initializing the ReportSize parameter to zero before calling callback
* routine, so that ignored callbacks don't cause incorrect data to be sent
*
*
* \section Sec_ChangeLog090810 Version 090810

@ -12,7 +12,6 @@
* or post your suggestion as an enhancement request to the project bug tracker.
*
* <b>Targeted for This Release:</b>
* - Simplify Mass Storage Host LowLevel SCSI demo
* - Finish Host Mode Class Drivers
* ( ) Audio
* (C) CDC

Loading…
Cancel
Save