From 8cd59c7734eedf60e566401a9ebf0c6f98aac9a2 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Wed, 20 May 2015 11:11:40 +0300 Subject: [PATCH] emulator: Reset LE scan & adv state upon HCI_Reset --- emulator/btdev.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/emulator/btdev.c b/emulator/btdev.c index 2f6ba3137..2a0c673be 100644 --- a/emulator/btdev.c +++ b/emulator/btdev.c @@ -1913,6 +1913,16 @@ static void ltk_neg_reply_complete(struct btdev *btdev) send_event(remote, BT_HCI_EVT_ENCRYPT_CHANGE, &ev, sizeof(ev)); } +static void btdev_reset(struct btdev *btdev) +{ + /* FIXME: include here clearing of all states that should be + * cleared upon HCI_Reset + */ + + btdev->le_scan_enable = 0x00; + btdev->le_adv_enable = 0x00; +} + static void default_cmd(struct btdev *btdev, uint16_t opcode, const void *data, uint8_t len) { @@ -2163,6 +2173,7 @@ static void default_cmd(struct btdev *btdev, uint16_t opcode, break; case BT_HCI_CMD_RESET: + btdev_reset(btdev); status = BT_HCI_ERR_SUCCESS; cmd_complete(btdev, opcode, &status, sizeof(status)); break; -- 2.47.3