Diff between 4bc962568a6e9c14137b30b6766e823a199b406a and 8cd59c7734eedf60e566401a9ebf0c6f98aac9a2

Changed Files

File Additions Deletions Status
emulator/btdev.c +11 -0 modified

Full Patch

diff --git a/emulator/btdev.c b/emulator/btdev.c
index 2f6ba31..2a0c673 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;