mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-09-10 17:15:43 +00:00
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.
This commit is contained in:
@@ -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();
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
/* Includes: */
|
||||
#include <avr/io.h>
|
||||
#include <avr/interrupt.h>
|
||||
#include <util/atomic.h>
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user