diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt index 70cf6cb664..7bd8b29975 100644 --- a/LUFA/DoxygenPages/ChangeLog.txt +++ b/LUFA/DoxygenPages/ChangeLog.txt @@ -10,16 +10,21 @@ * New: * - Library Applications: * - Added new Bulk Vendor low level device demo + * - Added new libUSB host Python and NodeJS application examples for the class driver GenericHID demo (thanks to Laszlo Monda) * * Changed: * - Library Applications: * - Refactored out USB interface IDs in the demo applications into enums (thanks to Laszlo Monda) * - AVRISP-MKII Clone Project PDI/TPI frequency increased from 250KHz to 2MHz as it is now stable - * - Fixed incorrect signature bytes returned in the DFU bootloader - * - Added new libUSB host Python and NodeJS application examples for the class driver GenericHID demo (thanks to Laszlo Monda) * - Increased TPI/PDI handshake delay to 1ms from 1us to support targets with high amounts of capacitance on their * /RESET lines (thanks to Paul Duke) * + * Fixed: + * - Core: + * - Fixed MIDI device class driver MIDI_Device_ReceiveEventPacket() for the XMEGA architecture + * - Library Applications: + * - Fixed incorrect signature bytes returned in the DFU bootloader + * * \section Sec_ChangeLog130901 Version 130901 * New: * - Core: diff --git a/LUFA/Drivers/USB/Class/Device/MIDIClassDevice.c b/LUFA/Drivers/USB/Class/Device/MIDIClassDevice.c index c782119e9e..34f33cfdcb 100644 --- a/LUFA/Drivers/USB/Class/Device/MIDIClassDevice.c +++ b/LUFA/Drivers/USB/Class/Device/MIDIClassDevice.c @@ -60,7 +60,7 @@ void MIDI_Device_USBTask(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo) #if !defined(NO_CLASS_DRIVER_AUTOFLUSH) Endpoint_SelectEndpoint(MIDIInterfaceInfo->Config.DataINEndpoint.Address); - + if (Endpoint_IsINReady()) MIDI_Device_Flush(MIDIInterfaceInfo); #endif @@ -113,6 +113,9 @@ bool MIDI_Device_ReceiveEventPacket(USB_ClassInfo_MIDI_Device_t* const MIDIInter Endpoint_SelectEndpoint(MIDIInterfaceInfo->Config.DataOUTEndpoint.Address); + if (!(Endpoint_IsOUTReceived())) + return false; + if (!(Endpoint_IsReadWriteAllowed())) return false;