X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/e071f3897a0946c6be1e1b5e1f78eda8dcbf6fc7..7a5d045987f1d42b73a4291a9cd7ac25dc3b8c1a:/LUFA/Drivers/USB/LowLevel/LowLevel.c?ds=inline diff --git a/LUFA/Drivers/USB/LowLevel/LowLevel.c b/LUFA/Drivers/USB/LowLevel/LowLevel.c index cd7fa891d..41d9e10cc 100644 --- a/LUFA/Drivers/USB/LowLevel/LowLevel.c +++ b/LUFA/Drivers/USB/LowLevel/LowLevel.c @@ -54,8 +54,6 @@ void USB_Init( #endif ) { - USB_ShutDown(); - #if defined(USB_CAN_BE_BOTH) USB_CurrentMode = Mode; #endif @@ -120,29 +118,9 @@ void USB_ShutDown(void) EVENT_USB_Disconnect(); #endif + USB_ResetInterface(); USB_Detach(); - - USB_INT_DisableAllInterrupts(); - USB_INT_ClearAllInterrupts(); - - USB_IsInitialized = false; - - #if defined(USB_CAN_BE_HOST) - USB_HostState = HOST_STATE_Unattached; - #endif - - #if defined(USB_CAN_BE_DEVICE) - USB_DeviceState = DEVICE_STATE_Unattached; - USB_ConfigurationNumber = 0; - USB_RemoteWakeupEnabled = false; - USB_CurrentlySelfPowered = false; - #endif - - #if defined(CAN_BE_BOTH) - USB_CurrentMode = USB_MODE_NONE; - #endif - - USB_Interface_Disable(); + USB_Controller_Disable(); USB_PLL_Off(); #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR) @@ -152,6 +130,12 @@ void USB_ShutDown(void) #if defined(USB_CAN_BE_BOTH) UHWCON &= ~(1 << UIDE); #endif + + USB_IsInitialized = false; + + #if defined(CAN_BE_BOTH) + USB_CurrentMode = USB_MODE_NONE; + #endif } void USB_ResetInterface(void) @@ -180,7 +164,7 @@ void USB_ResetInterface(void) while (!(USB_PLL_IsReady())); } - USB_Interface_Reset(); + USB_Controller_Reset(); #if defined(USB_CAN_BE_BOTH) if (UHWCON & (1 << UIDE))