From c5eeedd522c12c8b4996594f3c4167393d0af7ff Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Sun, 2 Aug 2009 11:33:00 +0000 Subject: 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. --- LUFA/Drivers/USB/HighLevel/USBInterrupt.c | 2 +- LUFA/Drivers/USB/HighLevel/USBTask.c | 7 +------ LUFA/Drivers/USB/HighLevel/USBTask.h | 1 - LUFA/ManPages/ChangeLog.txt | 1 + LUFA/ManPages/LUFA.gif | Bin 5474 -> 6425 bytes LUFA/ManPages/MainPage.txt | 4 ++-- 6 files changed, 5 insertions(+), 10 deletions(-) diff --git a/LUFA/Drivers/USB/HighLevel/USBInterrupt.c b/LUFA/Drivers/USB/HighLevel/USBInterrupt.c index f0a59edb7..51a761ae7 100644 --- a/LUFA/Drivers/USB/HighLevel/USBInterrupt.c +++ b/LUFA/Drivers/USB/HighLevel/USBInterrupt.c @@ -252,7 +252,7 @@ ISR(USB_GEN_vect, ISR_BLOCK) } #if defined(INTERRUPT_CONTROL_ENDPOINT) -ISR(USB_COM_vect, ISR_BLOCK) +ISR(USB_COM_vect, ISR_NOBLOCK) { uint8_t PrevSelectedEndpoint = Endpoint_GetCurrentEndpoint(); diff --git a/LUFA/Drivers/USB/HighLevel/USBTask.c b/LUFA/Drivers/USB/HighLevel/USBTask.c index 5c7045792..c02a38bf6 100644 --- a/LUFA/Drivers/USB/HighLevel/USBTask.c +++ b/LUFA/Drivers/USB/HighLevel/USBTask.c @@ -68,12 +68,7 @@ static void USB_DeviceTask(void) Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP); if (Endpoint_IsSETUPReceived()) - { - ATOMIC_BLOCK(ATOMIC_RESTORESTATE) - { - USB_Device_ProcessControlPacket(); - } - } + USB_Device_ProcessControlPacket(); Endpoint_SelectEndpoint(PrevEndpoint); } diff --git a/LUFA/Drivers/USB/HighLevel/USBTask.h b/LUFA/Drivers/USB/HighLevel/USBTask.h index 960131563..9138e687f 100644 --- a/LUFA/Drivers/USB/HighLevel/USBTask.h +++ b/LUFA/Drivers/USB/HighLevel/USBTask.h @@ -34,7 +34,6 @@ /* Includes: */ #include #include - #include #include #include diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt index 7adb95fe0..abda442a3 100644 --- a/LUFA/ManPages/ChangeLog.txt +++ b/LUFA/ManPages/ChangeLog.txt @@ -56,6 +56,7 @@ * from oneanother using foreground colours * - Internal per-device preprocessing conditions changed to per-device series rather than per-controller group for finer-grain * internal control + * - Interrupts are no longer disabled during the processing of Control Requests on the default endpoint while in device mode * * Fixed: * - Changed bootloaders to use FLASHEND rather than the existence of RAMPZ to determine if far FLASH pointers are needed to fix diff --git a/LUFA/ManPages/LUFA.gif b/LUFA/ManPages/LUFA.gif index 885f5b000..7a6aef214 100644 Binary files a/LUFA/ManPages/LUFA.gif and b/LUFA/ManPages/LUFA.gif differ diff --git a/LUFA/ManPages/MainPage.txt b/LUFA/ManPages/MainPage.txt index 6c4d431e2..e3b5a497a 100644 --- a/LUFA/ManPages/MainPage.txt +++ b/LUFA/ManPages/MainPage.txt @@ -8,7 +8,7 @@ * \mainpage * * \n - * \image html LUFA.gif "The Lightweight USB Framework for AVRs" + * \image html LUFA.gif * \n * * For author and donation information, see \ref Page_Donating. @@ -36,5 +36,5 @@ * - \subpage Page_LibraryApps Overview of included Demos, Bootloaders and Projects * * - * Logo design by Pavla Dlab + * Logo design by EDIGMA.COM */ -- cgit v1.2.3