From 9ea4f8ab68da44d6a9d92b99cbec9f4c26c01159 Mon Sep 17 00:00:00 2001 From: Andrzej Kaczmarek Date: Tue, 24 Apr 2018 09:57:35 +0200 Subject: [PATCH] nimble/host: Fix parsing event type for ext adv reports --- nimble/host/src/ble_hs_hci_evt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nimble/host/src/ble_hs_hci_evt.c b/nimble/host/src/ble_hs_hci_evt.c index 612508455..989bc3d23 100644 --- a/nimble/host/src/ble_hs_hci_evt.c +++ b/nimble/host/src/ble_hs_hci_evt.c @@ -578,7 +578,7 @@ ble_hs_hci_evt_le_ext_adv_rpt(uint8_t subevent, uint8_t *data, int len) params = &ext_adv->params[0]; for (i = 0; i < num_reports; i++) { - desc.props = (params->evt_type) & 0xFF; + desc.props = (params->evt_type) & 0x1F; if (desc.props & BLE_HCI_ADV_LEGACY_MASK) { legacy_event_type = ble_hs_hci_decode_legacy_type(params->evt_type); if (legacy_event_type < 0) { @@ -587,7 +587,7 @@ ble_hs_hci_evt_le_ext_adv_rpt(uint8_t subevent, uint8_t *data, int len) } desc.legacy_event_type = legacy_event_type; } else { - desc.data_status = params->evt_type >> 8; + desc.data_status = (params->evt_type & BLE_HCI_ADV_DATA_STATUS_MASK) >> 5; } desc.addr.type = params->addr_type; memcpy(desc.addr.val, params->addr, 6);