diff --git a/emulator/le.c b/emulator/le.c
index 478acb5..687ad20 100644
--- a/emulator/le.c
+++ b/emulator/le.c
hci->event_mask[2] |= 0x04; /* Number of Completed Packets */
hci->event_mask[3] |= 0x02; /* Data Buffer Overflow */
hci->event_mask[5] |= 0x80; /* Encryption Key Refresh Complete */
+ //hci->event_mask[7] |= 0x20; /* LE Meta Event */
hci->manufacturer = 0x003f; /* Bluetooth SIG (63) */
{
void *pkt_data;
+ if (!(hci->event_mask[7] & 0x20))
+ return;
+
pkt_data = alloca(1 + len);
if (!pkt_data)
return;
evt.status = BT_HCI_ERR_SUCCESS;
ecc_make_key(evt.local_pk256, hci->le_local_sk256);
- le_meta_event(hci, BT_HCI_EVT_LE_READ_LOCAL_PK256_COMPLETE,
+ if (hci->le_event_mask[0] & 0x80)
+ le_meta_event(hci, BT_HCI_EVT_LE_READ_LOCAL_PK256_COMPLETE,
&evt, sizeof(evt));
}
evt.status = BT_HCI_ERR_SUCCESS;
ecdh_shared_secret(cmd->remote_pk256, hci->le_local_sk256, evt.dhkey);
- le_meta_event(hci, BT_HCI_EVT_LE_GENERATE_DHKEY_COMPLETE,
+ if (hci->le_event_mask[1] & 0x01)
+ le_meta_event(hci, BT_HCI_EVT_LE_GENERATE_DHKEY_COMPLETE,
&evt, sizeof(evt));
}