diff --git a/Demos/Device/LowLevel/MassStorage/MassStorage.h b/Demos/Device/LowLevel/MassStorage/MassStorage.h index c08e630c230f23b33df83c01e985278a27844cb1..08f3388a24bd11d6e9e761a0970ed893da81d292 100644 --- a/Demos/Device/LowLevel/MassStorage/MassStorage.h +++ b/Demos/Device/LowLevel/MassStorage/MassStorage.h @@ -90,7 +90,5 @@ static void ReturnCommandStatus(void); #endif - uint8_t StreamCallback_AbortOnMassStoreReset(void); - #endif diff --git a/LUFA/Drivers/USB/Core/AVR8/Template/Template_Endpoint_RW.c b/LUFA/Drivers/USB/Core/AVR8/Template/Template_Endpoint_RW.c index 9ce03400796514e24042c54f90b46e2b52d6f180..46b00636498f8c4ca8ada091ba35a7ae309995e8 100644 --- a/LUFA/Drivers/USB/Core/AVR8/Template/Template_Endpoint_RW.c +++ b/LUFA/Drivers/USB/Core/AVR8/Template/Template_Endpoint_RW.c @@ -53,16 +53,16 @@ uint8_t TEMPLATE_FUNC_NAME (TEMPLATE_BUFFER_TYPE const Buffer, { TEMPLATE_CLEAR_ENDPOINT(); + #if !defined(INTERRUPT_CONTROL_ENDPOINT) + USB_USBTask(); + #endif + if (BytesProcessed != NULL) { *BytesProcessed += BytesInTransfer; return ENDPOINT_RWSTREAM_IncompleteTransfer; } - #if !defined(INTERRUPT_CONTROL_ENDPOINT) - USB_USBTask(); - #endif - if ((ErrorCode = Endpoint_WaitUntilReady())) return ErrorCode; } diff --git a/LUFA/Drivers/USB/Core/UC3/Template/Template_Endpoint_RW.c b/LUFA/Drivers/USB/Core/UC3/Template/Template_Endpoint_RW.c index 9ce03400796514e24042c54f90b46e2b52d6f180..46b00636498f8c4ca8ada091ba35a7ae309995e8 100644 --- a/LUFA/Drivers/USB/Core/UC3/Template/Template_Endpoint_RW.c +++ b/LUFA/Drivers/USB/Core/UC3/Template/Template_Endpoint_RW.c @@ -53,16 +53,16 @@ uint8_t TEMPLATE_FUNC_NAME (TEMPLATE_BUFFER_TYPE const Buffer, { TEMPLATE_CLEAR_ENDPOINT(); + #if !defined(INTERRUPT_CONTROL_ENDPOINT) + USB_USBTask(); + #endif + if (BytesProcessed != NULL) { *BytesProcessed += BytesInTransfer; return ENDPOINT_RWSTREAM_IncompleteTransfer; } - #if !defined(INTERRUPT_CONTROL_ENDPOINT) - USB_USBTask(); - #endif - if ((ErrorCode = Endpoint_WaitUntilReady())) return ErrorCode; } diff --git a/LUFA/Drivers/USB/Core/XMEGA/Template/Template_Endpoint_RW.c b/LUFA/Drivers/USB/Core/XMEGA/Template/Template_Endpoint_RW.c index 9ce03400796514e24042c54f90b46e2b52d6f180..46b00636498f8c4ca8ada091ba35a7ae309995e8 100644 --- a/LUFA/Drivers/USB/Core/XMEGA/Template/Template_Endpoint_RW.c +++ b/LUFA/Drivers/USB/Core/XMEGA/Template/Template_Endpoint_RW.c @@ -53,16 +53,16 @@ uint8_t TEMPLATE_FUNC_NAME (TEMPLATE_BUFFER_TYPE const Buffer, { TEMPLATE_CLEAR_ENDPOINT(); + #if !defined(INTERRUPT_CONTROL_ENDPOINT) + USB_USBTask(); + #endif + if (BytesProcessed != NULL) { *BytesProcessed += BytesInTransfer; return ENDPOINT_RWSTREAM_IncompleteTransfer; } - #if !defined(INTERRUPT_CONTROL_ENDPOINT) - USB_USBTask(); - #endif - if ((ErrorCode = Endpoint_WaitUntilReady())) return ErrorCode; } diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt index e41d288ef423f27dd16a4d2d57512e6df02b12c0..91aa6feb229295fc823985b5804213281ef6934f 100644 --- a/LUFA/ManPages/ChangeLog.txt +++ b/LUFA/ManPages/ChangeLog.txt @@ -68,6 +68,7 @@ * option was not enabled on the AVR8s * - Fixed lack of C++ compatibility in some internal header files causing compile errors when using LUFA in C++ projects * - Fixed error in the pipe unordered allocation algorithm for the AVR8 devices breaking compatibility with some devices + * - Fixed USB_USBTask not being called internally in stream transfers between packets when Partial Stream Transfers are used * - Library Applications: * - Fixed incorrect signature in the CDC and DFU class bootloaders for the ATMEGA8U2 * - Fixed KeyboardHost and KeyboardHostWithParser demos displaying incorrect values when numerical keys were pressed