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 - 3 files changed, 2 insertions(+), 8 deletions(-) (limited to 'LUFA/Drivers/USB') 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 -- cgit v1.2.3