From 903ea03a2fd4ef2b9c70b660dd4f63414f9d22dc Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Wed, 18 Jan 2017 12:09:35 +0100 Subject: [PATCH] hci: fix init sequence if le central not supported --- src/hci.c | 8 +++++++- src/hci.h | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/hci.c b/src/hci.c index 29eff1ff9..290d82e19 100644 --- a/src/hci.c +++ b/src/hci.c @@ -1416,11 +1416,17 @@ static void hci_initializing_event_handler(uint8_t * packet, uint16_t size){ return; } break; +#ifdef ENABLE_BLE case HCI_INIT_W4_LE_READ_BUFFER_SIZE: // skip write le host if not supported (e.g. on LE only EM9301) if (hci_stack->local_supported_commands[0] & 0x02) break; - hci_stack->substate = HCI_INIT_LE_SET_SCAN_PARAMETERS; +#ifdef ENABLE_LE_CENTRAL + hci_stack->substate = HCI_INIT_READ_WHITE_LIST_SIZE; +#else + hci_init_done(); +#endif return; +#endif case HCI_INIT_W4_WRITE_LOCAL_NAME: // skip write eir data if no eir data set if (hci_stack->eir_data) break; diff --git a/src/hci.h b/src/hci.h index 4713bc629..47f5d8eb8 100644 --- a/src/hci.h +++ b/src/hci.h @@ -550,15 +550,20 @@ typedef enum hci_init_state{ HCI_INIT_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING, HCI_INIT_W4_WRITE_DEFAULT_ERRONEOUS_DATA_REPORTING, +#ifdef ENABLE_BLE HCI_INIT_LE_READ_BUFFER_SIZE, HCI_INIT_W4_LE_READ_BUFFER_SIZE, HCI_INIT_WRITE_LE_HOST_SUPPORTED, HCI_INIT_W4_WRITE_LE_HOST_SUPPORTED, +#endif + +#ifdef ENABLE_LE_CENTRAL HCI_INIT_READ_WHITE_LIST_SIZE, HCI_INIT_W4_READ_WHITE_LIST_SIZE, HCI_INIT_LE_SET_SCAN_PARAMETERS, HCI_INIT_W4_LE_SET_SCAN_PARAMETERS, +#endif HCI_INIT_DONE,