aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA
diff options
context:
space:
mode:
Diffstat (limited to 'LUFA')
-rw-r--r--LUFA/Drivers/USB/LowLevel/USBInterrupt.c3
-rw-r--r--LUFA/Drivers/USB/LowLevel/USBInterrupt.h1
-rw-r--r--LUFA/ManPages/ChangeLog.txt2
3 files changed, 6 insertions, 0 deletions
diff --git a/LUFA/Drivers/USB/LowLevel/USBInterrupt.c b/LUFA/Drivers/USB/LowLevel/USBInterrupt.c
index 925248d13..2d9e35b72 100644
--- a/LUFA/Drivers/USB/LowLevel/USBInterrupt.c
+++ b/LUFA/Drivers/USB/LowLevel/USBInterrupt.c
@@ -235,7 +235,10 @@ ISR(USB_COM_vect, ISR_BLOCK)
{
uint8_t PrevSelectedEndpoint = Endpoint_GetCurrentEndpoint();
+ USB_INT_Disable(USB_INT_RXSTPI);
+ sei();
USB_USBTask();
+ USB_INT_Enable(USB_INT_RXSTPI);
USB_INT_Clear(USB_INT_RXSTPI);
diff --git a/LUFA/Drivers/USB/LowLevel/USBInterrupt.h b/LUFA/Drivers/USB/LowLevel/USBInterrupt.h
index cccf26ac8..e46e7597b 100644
--- a/LUFA/Drivers/USB/LowLevel/USBInterrupt.h
+++ b/LUFA/Drivers/USB/LowLevel/USBInterrupt.h
@@ -43,6 +43,7 @@
/* Includes: */
#include <avr/io.h>
+ #include <avr/interrupt.h>
#include <stdbool.h>
#include "../../../Common/Common.h"
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index b99faaca6..4c292849c 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -60,6 +60,8 @@
* - Fixed Set Configuration requests not being stalled until the host has set the device's address
* - Fixed Host mode HID class driver not sending the correct report type when HID_Host_SendReportByID() was called and the
* HID_HOST_BOOT_PROTOCOL_ONLY compile time option is set
+ * - Fixed INTERRUPT_CONTROL_ENDPOINT compile time option preventing other interrupts from occuring while the control endpoint
+ * request is being processed, causing possible lockups if a USB interrupt occurs during a transfer
*
* \section Sec_ChangeLog100219 Version 100219
*