X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/2ee9fc707784e115d744dbc229bdc893f4bb6bc1..bde64666fbdda0a275344c0e5e5175f770be516d:/LUFA/Drivers/USB/LowLevel/Host.c diff --git a/LUFA/Drivers/USB/LowLevel/Host.c b/LUFA/Drivers/USB/LowLevel/Host.c index b3b56b8d1..5f3eeb8e8 100644 --- a/LUFA/Drivers/USB/LowLevel/Host.c +++ b/LUFA/Drivers/USB/LowLevel/Host.c @@ -55,7 +55,7 @@ void USB_Host_ProcessNextHostState(void) break; } - if (!(WaitMSRemaining--)) + if (!(--WaitMSRemaining)) USB_HostState = PostWaitState; } @@ -210,7 +210,6 @@ uint8_t USB_Host_WaitMS(uint8_t MS) bool BusSuspended = USB_Host_IsBusSuspended(); uint8_t ErrorCode = HOST_WAITERROR_Successful; - USB_INT_Clear(USB_INT_HSOFI); USB_Host_ResumeBus(); while (MS) @@ -260,9 +259,10 @@ static void USB_Host_ResetDevice(void) USB_Host_ResetBus(); while (!(USB_Host_IsBusResetComplete())); + USB_Host_ResumeBus(); + USB_INT_Clear(USB_INT_HSOFI); - USB_Host_ResumeBus(); - + for (uint8_t MSRem = 10; MSRem != 0; MSRem--) { /* Workaround for powerless-pull-up devices. After a USB bus reset, @@ -272,6 +272,7 @@ static void USB_Host_ResetDevice(void) if (USB_INT_HasOccurred(USB_INT_HSOFI)) { + USB_INT_Clear(USB_INT_HSOFI); USB_INT_Clear(USB_INT_DDISCI); break; }