Fixed INTERRUPT_CONTROL_ENDPOINT compile time option preventing other interrupts...
authorDean Camera <dean@fourwalledcubicle.com>
Tue, 4 May 2010 10:16:44 +0000 (10:16 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Tue, 4 May 2010 10:16:44 +0000 (10:16 +0000)
LUFA/Drivers/USB/LowLevel/USBInterrupt.c
LUFA/Drivers/USB/LowLevel/USBInterrupt.h
LUFA/ManPages/ChangeLog.txt

index 925248d..2d9e35b 100644 (file)
@@ -235,7 +235,10 @@ ISR(USB_COM_vect, ISR_BLOCK)
 {\r
        uint8_t PrevSelectedEndpoint = Endpoint_GetCurrentEndpoint();\r
 \r
+       USB_INT_Disable(USB_INT_RXSTPI);\r
+       sei();\r
        USB_USBTask();\r
+       USB_INT_Enable(USB_INT_RXSTPI);\r
 \r
        USB_INT_Clear(USB_INT_RXSTPI);\r
        \r
index cccf26a..e46e759 100644 (file)
@@ -43,6 +43,7 @@
 \r
        /* Includes: */\r
                #include <avr/io.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdbool.h>\r
                \r
                #include "../../../Common/Common.h"\r
index b99faac..4c29284 100644 (file)
@@ -60,6 +60,8 @@
   *  - Fixed Set Configuration requests not being stalled until the host has set the device's address\r
   *  - Fixed Host mode HID class driver not sending the correct report type when HID_Host_SendReportByID() was called and the \r
   *    HID_HOST_BOOT_PROTOCOL_ONLY compile time option is set\r
+  *  - Fixed INTERRUPT_CONTROL_ENDPOINT compile time option preventing other interrupts from occuring while the control endpoint\r
+  *    request is being processed, causing possible lockups if a USB interrupt occurs during a transfer\r
   *\r
   *  \section Sec_ChangeLog100219 Version 100219\r
   *\r