Commit of new class abstraction APIs for all device demos other than the MIDI demo...
[pub/USBasp.git] / LUFA / Drivers / USB / LowLevel / Host.c
index b606515..02a1c21 100644 (file)
@@ -210,14 +210,13 @@ uint8_t USB_Host_WaitMS(uint8_t MS)
        bool    BusSuspended = USB_Host_IsBusSuspended();\r
        uint8_t ErrorCode    = HOST_WAITERROR_Successful;\r
        \r
-       USB_INT_Clear(USB_INT_HSOFI);\r
        USB_Host_ResumeBus();\r
 \r
        while (MS)\r
        {\r
-               if (USB_INT_HasOccurred(USB_INT_HSOFI))\r
+               if (FrameElapsed)\r
                {\r
-                       USB_INT_Clear(USB_INT_HSOFI);\r
+                       FrameElapsed = false;\r
                        MS--;\r
                }\r
                                        \r
@@ -260,9 +259,10 @@ static void USB_Host_ResetDevice(void)
        USB_Host_ResetBus();\r
        while (!(USB_Host_IsBusResetComplete()));\r
 \r
-       USB_INT_Clear(USB_INT_HSOFI);\r
        USB_Host_ResumeBus();   \r
        \r
+       FrameElapsed = false;\r
+\r
        for (uint8_t MSRem = 10; MSRem != 0; MSRem--)\r
        {\r
                /* Workaround for powerless-pull-up devices. After a USB bus reset,\r
@@ -270,8 +270,10 @@ static void USB_Host_ResetDevice(void)
                   looked for - if it is found within 10ms, the device is still\r
                   present.                                                        */\r
 \r
-               if (USB_INT_HasOccurred(USB_INT_HSOFI))\r
+               if (FrameElapsed)\r
                {\r
+                       FrameElapsed = false;\r
+                       \r
                        USB_INT_Clear(USB_INT_DDISCI);\r
                        break;\r
                }\r