\r
USB_ControlRequest = (USB_Request_Header_t)\r
{\r
- bmRequestType: (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_DEVICE),\r
- bRequest: 0,\r
- wValue: 0,\r
- wIndex: 0,\r
- wLength: sizeof(CommandBuffer)\r
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_DEVICE),\r
+ .bRequest = 0,\r
+ .wValue = 0,\r
+ .wIndex = 0,\r
+ .wLength = sizeof(CommandBuffer)\r
};\r
\r
memset(CommandBuffer, 0x00, sizeof(CommandBuffer));\r
\r
do\r
{\r
- while (!(Bluetooth_GetNextHCIEventHeader()));\r
+ while (!(Bluetooth_GetNextHCIEventHeader()))\r
+ {\r
+ if (USB_HostState == HOST_STATE_Unattached)\r
+ return;\r
+ }\r
+ \r
Bluetooth_DiscardRemainingHCIEventParameters();\r
} while (HCIEventHeader.EventCode != EVENT_COMMAND_COMPLETE);\r
\r
\r
do\r
{\r
- while (!(Bluetooth_GetNextHCIEventHeader()));\r
+ while (!(Bluetooth_GetNextHCIEventHeader()))\r
+ {\r
+ if (USB_HostState == HOST_STATE_Unattached)\r
+ return;\r
+ }\r
+\r
Bluetooth_DiscardRemainingHCIEventParameters();\r
} while (HCIEventHeader.EventCode != EVENT_COMMAND_COMPLETE);\r
\r
EventMask[3], EventMask[2], EventMask[1], EventMask[0]);\r
do\r
{\r
- while (!(Bluetooth_GetNextHCIEventHeader()));\r
+ while (!(Bluetooth_GetNextHCIEventHeader()))\r
+ {\r
+ if (USB_HostState == HOST_STATE_Unattached)\r
+ return;\r
+ }\r
+\r
Bluetooth_DiscardRemainingHCIEventParameters();\r
} while (HCIEventHeader.EventCode != EVENT_COMMAND_COMPLETE);\r
\r
\r
do\r
{\r
- while (!(Bluetooth_GetNextHCIEventHeader()));\r
+ while (!(Bluetooth_GetNextHCIEventHeader()))\r
+ {\r
+ if (USB_HostState == HOST_STATE_Unattached)\r
+ return;\r
+ }\r
+\r
Bluetooth_DiscardRemainingHCIEventParameters();\r
} while (HCIEventHeader.EventCode != EVENT_COMMAND_COMPLETE);\r
\r
\r
do\r
{\r
- while (!(Bluetooth_GetNextHCIEventHeader()));\r
+ while (!(Bluetooth_GetNextHCIEventHeader()))\r
+ {\r
+ if (USB_HostState == HOST_STATE_Unattached)\r
+ return;\r
+ }\r
+\r
Bluetooth_DiscardRemainingHCIEventParameters();\r
} while (HCIEventHeader.EventCode != EVENT_COMMAND_COMPLETE);\r
\r
\r
do\r
{\r
- while (!(Bluetooth_GetNextHCIEventHeader()));\r
+ while (!(Bluetooth_GetNextHCIEventHeader()))\r
+ {\r
+ if (USB_HostState == HOST_STATE_Unattached)\r
+ return;\r
+ }\r
+\r
Bluetooth_DiscardRemainingHCIEventParameters();\r
} while (HCIEventHeader.EventCode != EVENT_COMMAND_COMPLETE);\r
\r
\r
do\r
{\r
- while (!(Bluetooth_GetNextHCIEventHeader()));\r
+ while (!(Bluetooth_GetNextHCIEventHeader()))\r
+ { \r
+ if (USB_HostState == HOST_STATE_Unattached)\r
+ return;\r
+ }\r
+\r
Bluetooth_DiscardRemainingHCIEventParameters();\r
} while (HCIEventHeader.EventCode != EVENT_COMMAND_COMPLETE);\r
\r