OSDN Git Service

emulator: Reset LE scan & adv state upon HCI_Reset
authorJohan Hedberg <johan.hedberg@intel.com>
Wed, 20 May 2015 08:11:40 +0000 (11:11 +0300)
committerJohan Hedberg <johan.hedberg@intel.com>
Wed, 20 May 2015 08:11:40 +0000 (11:11 +0300)
emulator/btdev.c

index 2f6ba31..2a0c673 100644 (file)
@@ -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;