Add in USB_INT_RegisterHandlers() internal function to register the interrupt handler...
[pub/USBasp.git] / LUFA / Drivers / USB / Core / UC3B / USBController_UC3B.c
index ee25de7..191e084 100644 (file)
@@ -59,6 +59,8 @@ void USB_Init(
        #if !defined(USE_STATIC_OPTIONS)\r
        USB_Options = Options;\r
        #endif\r
+       \r
+       USB_INT_RegisterHandlers();\r
 \r
        #if defined(USB_CAN_BE_BOTH)\r
        if (Mode == USB_MODE_UID)\r
@@ -103,17 +105,17 @@ void USB_ResetInterface(void)
        bool UIDModeSelectEnabled = AVR32_USBB.USBCON.uide;\r
        #endif\r
 \r
-       USB_INT_DisableAllInterrupts();\r
-       USB_INT_ClearAllInterrupts();\r
-\r
-       USB_Controller_Reset();\r
-       \r
        AVR32_PM.GCCTRL[USB_GCLK_USBB_INDEX].pllsel = !(USB_Options & USB_OPT_GCLK_SRC_OSC);\r
        AVR32_PM.GCCTRL[USB_GCLK_USBB_INDEX].oscsel = !(USB_Options & USB_OPT_GCLK_CHANNEL_0);\r
        AVR32_PM.GCCTRL[USB_GCLK_USBB_INDEX].diven  = (F_CLOCK != 48000000UL);\r
        AVR32_PM.GCCTRL[USB_GCLK_USBB_INDEX].div    = ((F_CLOCK / 2) / 48000000UL);\r
        AVR32_PM.GCCTRL[USB_GCLK_USBB_INDEX].cen    = true;\r
 \r
+       USB_INT_DisableAllInterrupts();\r
+       USB_INT_ClearAllInterrupts();\r
+\r
+       USB_Controller_Reset();\r
+\r
        #if defined(USB_CAN_BE_BOTH)\r
        if (UIDModeSelectEnabled)\r
        {\r