projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix nasty bug in USBInterrupt.c which would cause a lockup if the control endpoint...
[pub/USBasp.git]
/
LUFA
/
Drivers
/
USB
/
LowLevel
/
USBInterrupt.c
diff --git
a/LUFA/Drivers/USB/LowLevel/USBInterrupt.c
b/LUFA/Drivers/USB/LowLevel/USBInterrupt.c
index
7edd3ce
..
43df5f6
100644
(file)
--- a/
LUFA/Drivers/USB/LowLevel/USBInterrupt.c
+++ b/
LUFA/Drivers/USB/LowLevel/USBInterrupt.c
@@
-233,15
+233,15
@@
ISR(USB_GEN_vect, ISR_BLOCK)
#if defined(INTERRUPT_CONTROL_ENDPOINT) && defined(USB_CAN_BE_DEVICE)
ISR(USB_COM_vect, ISR_BLOCK)
{
#if defined(INTERRUPT_CONTROL_ENDPOINT) && defined(USB_CAN_BE_DEVICE)
ISR(USB_COM_vect, ISR_BLOCK)
{
- uint8_t PrevSelectedEndpoint = Endpoint_GetCurrentEndpoint();
+ uint8_t PrevSelectedEndpoint = Endpoint_GetCurrentEndpoint();
+ Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP);
USB_INT_Disable(USB_INT_RXSTPI);
sei();
USB_INT_Disable(USB_INT_RXSTPI);
sei();
+
USB_USBTask();
USB_USBTask();
- USB_INT_Enable(USB_INT_RXSTPI);
- USB_INT_Clear(USB_INT_RXSTPI);
-
+ USB_INT_Enable(USB_INT_RXSTPI);
Endpoint_SelectEndpoint(PrevSelectedEndpoint);
}
#endif
Endpoint_SelectEndpoint(PrevSelectedEndpoint);
}
#endif