diff options
| author | Dean Camera <[email protected]> | 2010-09-22 04:20:45 +0000 |
|---|---|---|
| committer | Dean Camera <[email protected]> | 2010-09-22 04:20:45 +0000 |
| commit | 5f3c4cc6e044bdfd4c35b5e27a2841b961766843 (patch) | |
| tree | 9e88f349307a63cedbf9e4cf6b35b57c366726d3 /LUFA/Drivers/USB/LowLevel/USBInterrupt.c | |
| parent | c459ef69815366c11d2d00c51b75908603ed3ca1 (diff) | |
| download | qmk_firmware-5f3c4cc6e044bdfd4c35b5e27a2841b961766843.tar.gz qmk_firmware-5f3c4cc6e044bdfd4c35b5e27a2841b961766843.zip | |
Reverted modifications to USBInterrupt.h that were intefering with correct host mode operation.
Fixed SUSPI interrupt not being cleared during device mode enumeration, causing accidental mis-fires on re-enumeration.
Fixed JTAG_DEBUG_POINT() and JTAG_DEBUG_BREAK() macros not compiling under pure C99 standards mode.
Diffstat (limited to 'LUFA/Drivers/USB/LowLevel/USBInterrupt.c')
| -rw-r--r-- | LUFA/Drivers/USB/LowLevel/USBInterrupt.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/LUFA/Drivers/USB/LowLevel/USBInterrupt.c b/LUFA/Drivers/USB/LowLevel/USBInterrupt.c index 66a86a1b2a..7844a87d71 100644 --- a/LUFA/Drivers/USB/LowLevel/USBInterrupt.c +++ b/LUFA/Drivers/USB/LowLevel/USBInterrupt.c @@ -34,7 +34,7 @@ void USB_INT_DisableAllInterrupts(void) { #if defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR) - USBCON &= ~((1 << OTGPADE) | (1 << VBUSTE) | (1 << IDTE)); + USBCON &= ~((1 << VBUSTE) | (1 << IDTE)); #elif defined(USB_SERIES_4_AVR) USBCON &= ~(1 << VBUSTE); #endif @@ -168,8 +168,6 @@ ISR(USB_GEN_vect, ISR_BLOCK) #endif #if defined(USB_CAN_BE_HOST) - bool MustResetInterface = false; - if (USB_INT_HasOccurred(USB_INT_DDISCI) && USB_INT_IsEnabled(USB_INT_DDISCI)) { USB_INT_Clear(USB_INT_DDISCI); @@ -177,8 +175,8 @@ ISR(USB_GEN_vect, ISR_BLOCK) USB_INT_Disable(USB_INT_DDISCI); EVENT_USB_Host_DeviceUnattached(); - - MustResetInterface = true; + + USB_ResetInterface(); } if (USB_INT_HasOccurred(USB_INT_VBERRI) && USB_INT_IsEnabled(USB_INT_VBERRI)) @@ -213,7 +211,7 @@ ISR(USB_GEN_vect, ISR_BLOCK) EVENT_USB_Host_DeviceEnumerationFailed(HOST_ENUMERROR_NoDeviceDetected, 0); EVENT_USB_Host_DeviceUnattached(); - MustResetInterface = true; + USB_ResetInterface(); } if (USB_INT_HasOccurred(USB_INT_HSOFI) && USB_INT_IsEnabled(USB_INT_HSOFI)) @@ -236,13 +234,10 @@ ISR(USB_GEN_vect, ISR_BLOCK) EVENT_USB_Host_DeviceUnattached(); USB_CurrentMode = USB_GetUSBModeFromUID(); - EVENT_USB_UIDChange(); + USB_ResetInterface(); - MustResetInterface = true; + EVENT_USB_UIDChange(); } - - if (MustResetInterface) - USB_ResetInterface(); #endif } |
