aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-08-02 11:33:00 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-08-02 11:33:00 +0000
commitc5eeedd522c12c8b4996594f3c4167393d0af7ff (patch)
tree341dc9d942bc518b9c44e3c4ebc3af32d9ef0113 /LUFA/Drivers/USB
parentac593611c9ec2fc7f097b488c316ce69ac88f3ae (diff)
downloadlufa-c5eeedd522c12c8b4996594f3c4167393d0af7ff.tar.gz
lufa-c5eeedd522c12c8b4996594f3c4167393d0af7ff.tar.bz2
lufa-c5eeedd522c12c8b4996594f3c4167393d0af7ff.zip
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.
Diffstat (limited to 'LUFA/Drivers/USB')
-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
3 files changed, 2 insertions, 8 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 <avr/io.h>
#include <avr/interrupt.h>
- #include <util/atomic.h>
#include <stdbool.h>
#include <stddef.h>