\r
        while (MS)\r
        {\r
-               if (FrameElapsed)\r
+               if (USB_INT_HasOccurred(USB_INT_HSOFI))\r
                {\r
-                       FrameElapsed = false;\r
+                       USB_INT_Clear(USB_INT_HSOFI);\r
                        MS--;\r
                }\r
                                        \r
        USB_Host_ResetBus();\r
        while (!(USB_Host_IsBusResetComplete()));\r
 \r
-       USB_Host_ResumeBus();   \r
-       \r
-       FrameElapsed = false;\r
+       USB_Host_ResumeBus();\r
+\r
+       USB_INT_Clear(USB_INT_HSOFI);\r
 \r
        for (uint8_t MSRem = 10; MSRem != 0; MSRem--)\r
        {\r
                   looked for - if it is found within 10ms, the device is still\r
                   present.                                                        */\r
 \r
-               if (FrameElapsed)\r
+               if (USB_INT_HasOccurred(USB_INT_HSOFI))\r
                {\r
-                       FrameElapsed = false;\r
-                       \r
+                       USB_INT_Clear(USB_INT_HSOFI);\r
                        USB_INT_Clear(USB_INT_DDISCI);\r
                        break;\r
                }\r