aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28>2009-08-02 11:33:00 +0000
committerDean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28>2009-08-02 11:33:00 +0000
commitdaf70eccabe33e78ad5d9b1ebd94dcfad84d244a (patch)
tree341dc9d942bc518b9c44e3c4ebc3af32d9ef0113
parenta538971e73aef09fb527e268b0e2117a83b9319f (diff)
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. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@710 d5102386-fcda-11dd-9fdb-3debd5008f28
-rw-r--r--LUFA/Drivers/USB/HighLevel/USBInterrupt.c2
-rw-r--r--LUFA/Drivers/USB/HighLevel/USBTask.c7
-rw-r--r--LUFA/Drivers/USB/HighLevel/USBTask.h1
-rw-r--r--LUFA/ManPages/ChangeLog.txt1
-rw-r--r--LUFA/ManPages/LUFA.gifbin5474 -> 6425 bytes
-rw-r--r--LUFA/ManPages/MainPage.txt4
6 files changed, 5 insertions, 10 deletions
diff --git a/LUFA/Drivers/USB/HighLevel/USBInterrupt.c b/LUFA/Drivers/USB/HighLevel/USBInterrupt.c
index f0a59edb..51a761ae 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 5c704579..c02a38bf 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 96013156..9138e687 100644
--- a/LUFA/Drivers/USB/HighLevel/USBTask.h
+++ b/LUFA/Drivers/USB/HighLevel/USBTask.h
@@ -34,7 +34,6 @@
/* Includes: */
#include <avr/io.h>
#include <avr/interrupt.h>
- #include <util/atomic.h>
#include <stdbool.h>
#include <stddef.h>
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index 7adb95fe..abda442a 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
*
* <b>Fixed:</b>
* - 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 885f5b00..7a6aef21 100644
--- a/LUFA/ManPages/LUFA.gif
+++ b/LUFA/ManPages/LUFA.gif
Binary files differ
diff --git a/LUFA/ManPages/MainPage.txt b/LUFA/ManPages/MainPage.txt
index 6c4d431e..e3b5a497 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
*
*
- * <small><i>Logo design by Pavla Dlab</i></small>
+ * <small><i>Logo design by EDIGMA.COM</i></small>
*/