X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/44179abcf85acb14fb3aff72ce50ae84281c0f2e..e071f3897a0946c6be1e1b5e1f78eda8dcbf6fc7:/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothHCICommands.c?ds=inline diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothHCICommands.c b/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothHCICommands.c index ddd159ef7..54291bf75 100644 --- a/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothHCICommands.c +++ b/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothHCICommands.c @@ -114,7 +114,12 @@ void Bluetooth_ProcessHCICommands(void) do { - while (!(Bluetooth_GetNextHCIEventHeader())); + while (!(Bluetooth_GetNextHCIEventHeader())) + { + if (USB_HostState == HOST_STATE_Unattached) + return; + } + Bluetooth_DiscardRemainingHCIEventParameters(); } while (HCIEventHeader.EventCode != EVENT_COMMAND_COMPLETE); @@ -133,7 +138,12 @@ void Bluetooth_ProcessHCICommands(void) do { - while (!(Bluetooth_GetNextHCIEventHeader())); + while (!(Bluetooth_GetNextHCIEventHeader())) + { + if (USB_HostState == HOST_STATE_Unattached) + return; + } + Bluetooth_DiscardRemainingHCIEventParameters(); } while (HCIEventHeader.EventCode != EVENT_COMMAND_COMPLETE); @@ -155,7 +165,12 @@ void Bluetooth_ProcessHCICommands(void) EventMask[3], EventMask[2], EventMask[1], EventMask[0]); do { - while (!(Bluetooth_GetNextHCIEventHeader())); + while (!(Bluetooth_GetNextHCIEventHeader())) + { + if (USB_HostState == HOST_STATE_Unattached) + return; + } + Bluetooth_DiscardRemainingHCIEventParameters(); } while (HCIEventHeader.EventCode != EVENT_COMMAND_COMPLETE); @@ -176,7 +191,12 @@ void Bluetooth_ProcessHCICommands(void) do { - while (!(Bluetooth_GetNextHCIEventHeader())); + while (!(Bluetooth_GetNextHCIEventHeader())) + { + if (USB_HostState == HOST_STATE_Unattached) + return; + } + Bluetooth_DiscardRemainingHCIEventParameters(); } while (HCIEventHeader.EventCode != EVENT_COMMAND_COMPLETE); @@ -195,7 +215,12 @@ void Bluetooth_ProcessHCICommands(void) do { - while (!(Bluetooth_GetNextHCIEventHeader())); + while (!(Bluetooth_GetNextHCIEventHeader())) + { + if (USB_HostState == HOST_STATE_Unattached) + return; + } + Bluetooth_DiscardRemainingHCIEventParameters(); } while (HCIEventHeader.EventCode != EVENT_COMMAND_COMPLETE); @@ -215,7 +240,12 @@ void Bluetooth_ProcessHCICommands(void) do { - while (!(Bluetooth_GetNextHCIEventHeader())); + while (!(Bluetooth_GetNextHCIEventHeader())) + { + if (USB_HostState == HOST_STATE_Unattached) + return; + } + Bluetooth_DiscardRemainingHCIEventParameters(); } while (HCIEventHeader.EventCode != EVENT_COMMAND_COMPLETE); @@ -366,7 +396,12 @@ void Bluetooth_ProcessHCICommands(void) do { - while (!(Bluetooth_GetNextHCIEventHeader())); + while (!(Bluetooth_GetNextHCIEventHeader())) + { + if (USB_DeviceState == DEVICE_STATE_Unattached) + return; + } + Bluetooth_DiscardRemainingHCIEventParameters(); } while (HCIEventHeader.EventCode != EVENT_COMMAND_COMPLETE);