Commit c5eeedd5 authored by Dean Camera's avatar Dean Camera
Browse files

Removed interrupt disable/enable from the Device mode control request...

Removed interrupt disable/enable from the Device mode control request processing routines, as they can cause problems with user code and can cause infinite spinlocks under some circumstances.

Added new LUFA logo from EDIGMA.COM.
parent ac593611
...@@ -252,7 +252,7 @@ ISR(USB_GEN_vect, ISR_BLOCK) ...@@ -252,7 +252,7 @@ ISR(USB_GEN_vect, ISR_BLOCK)
} }
#if defined(INTERRUPT_CONTROL_ENDPOINT) #if defined(INTERRUPT_CONTROL_ENDPOINT)
ISR(USB_COM_vect, ISR_BLOCK) ISR(USB_COM_vect, ISR_NOBLOCK)
{ {
uint8_t PrevSelectedEndpoint = Endpoint_GetCurrentEndpoint(); uint8_t PrevSelectedEndpoint = Endpoint_GetCurrentEndpoint();
......
...@@ -68,12 +68,7 @@ static void USB_DeviceTask(void) ...@@ -68,12 +68,7 @@ static void USB_DeviceTask(void)
Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP); Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP);
if (Endpoint_IsSETUPReceived()) if (Endpoint_IsSETUPReceived())
{ USB_Device_ProcessControlPacket();
ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
{
USB_Device_ProcessControlPacket();
}
}
Endpoint_SelectEndpoint(PrevEndpoint); Endpoint_SelectEndpoint(PrevEndpoint);
} }
......
...@@ -34,7 +34,6 @@ ...@@ -34,7 +34,6 @@
/* Includes: */ /* Includes: */
#include <avr/io.h> #include <avr/io.h>
#include <avr/interrupt.h> #include <avr/interrupt.h>
#include <util/atomic.h>
#include <stdbool.h> #include <stdbool.h>
#include <stddef.h> #include <stddef.h>
......
...@@ -56,6 +56,7 @@ ...@@ -56,6 +56,7 @@
* from oneanother using foreground colours * from oneanother using foreground colours
* - Internal per-device preprocessing conditions changed to per-device series rather than per-controller group for finer-grain * - Internal per-device preprocessing conditions changed to per-device series rather than per-controller group for finer-grain
* internal control * internal control
* - Interrupts are no longer disabled during the processing of Control Requests on the default endpoint while in device mode
* *
* <b>Fixed:</b> * <b>Fixed:</b>
* - Changed bootloaders to use FLASHEND rather than the existence of RAMPZ to determine if far FLASH pointers are needed to fix * - Changed bootloaders to use FLASHEND rather than the existence of RAMPZ to determine if far FLASH pointers are needed to fix
......
LUFA/ManPages/LUFA.gif

5.35 KB | W: | H:

LUFA/ManPages/LUFA.gif

6.27 KB | W: | H:

LUFA/ManPages/LUFA.gif
LUFA/ManPages/LUFA.gif
LUFA/ManPages/LUFA.gif
LUFA/ManPages/LUFA.gif
  • 2-up
  • Swipe
  • Onion skin
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* \mainpage * \mainpage
* *
* \n * \n
* \image html LUFA.gif "The Lightweight USB Framework for AVRs" * \image html LUFA.gif
* \n * \n
* *
* For author and donation information, see \ref Page_Donating. * For author and donation information, see \ref Page_Donating.
...@@ -36,5 +36,5 @@ ...@@ -36,5 +36,5 @@
* - \subpage Page_LibraryApps Overview of included Demos, Bootloaders and Projects * - \subpage Page_LibraryApps Overview of included Demos, Bootloaders and Projects
* *
* *
* <small><i>Logo design by Pavla Dlab</i></small> * <small><i>Logo design by EDIGMA.COM</i></small>
*/ */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment