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(); Endpoint_ClearSETUP();
uint16_t ReportINSize; uint16_t ReportINSize = 0;
uint8_t ReportID = (USB_ControlRequest.wValue & 0xFF); uint8_t ReportID = (USB_ControlRequest.wValue & 0xFF);
memset(HIDInterfaceInfo->Config.PrevReportINBuffer, 0, HIDInterfaceInfo->Config.PrevReportINBufferSize); 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()) if (Endpoint_IsReadWriteAllowed())
{ {
uint8_t ReportINData[HIDInterfaceInfo->Config.PrevReportINBufferSize]; uint8_t ReportINData[HIDInterfaceInfo->Config.PrevReportINBufferSize];
uint8_t ReportID = 0; uint8_t ReportID = 0;
uint16_t ReportINSize; uint16_t ReportINSize = 0;
memset(ReportINData, 0, sizeof(ReportINData)); 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 * - Added hardware USART receive interrupt and software buffering to the Benito project to ensure received data is not
* missed or corrupted * missed or corrupted
* - Fixed Device mode HID Class driver always sending IN packets, even when nothing to report * - 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 * \section Sec_ChangeLog090810 Version 090810

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

Loading…
Cancel
Save