Bluetooth: mgmt: Add address type to link key messages
authorJohan Hedberg <johan.hedberg@intel.com>
Fri, 17 Feb 2012 12:06:34 +0000 (14:06 +0200)
committerJohan Hedberg <johan.hedberg@intel.com>
Fri, 17 Feb 2012 12:39:16 +0000 (14:39 +0200)
The latest mgmt API includes an address type wherever there's an address
present. This patch updates the link key messages to match it.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
include/net/bluetooth/mgmt.h
net/bluetooth/mgmt.c

index 255a99600f089a9d583d8921570cd041010165fd..5aafe929d011b57cae21b4fd2c05ff0012d65a0b 100644 (file)
@@ -153,7 +153,7 @@ struct mgmt_cp_remove_uuid {
 } __packed;
 
 struct mgmt_link_key_info {
-       bdaddr_t bdaddr;
+       struct mgmt_addr_info addr;
        u8 type;
        u8 val[16];
        u8 pin_len;
index 36c4ff6fdf055ce7f48e7cdd34b4a19fae9e6d1b..b0de7194249ef68f8e565639ce528c11c31829b9 100644 (file)
@@ -1274,8 +1274,8 @@ static int load_link_keys(struct sock *sk, u16 index, void *data, u16 len)
        for (i = 0; i < key_count; i++) {
                struct mgmt_link_key_info *key = &cp->keys[i];
 
-               hci_add_link_key(hdev, NULL, 0, &key->bdaddr, key->val, key->type,
-                                                               key->pin_len);
+               hci_add_link_key(hdev, NULL, 0, &key->addr.bdaddr, key->val,
+                                               key->type, key->pin_len);
        }
 
        cmd_complete(sk, index, MGMT_OP_LOAD_LINK_KEYS, NULL, 0);
@@ -2788,7 +2788,8 @@ int mgmt_new_link_key(struct hci_dev *hdev, struct link_key *key,
        memset(&ev, 0, sizeof(ev));
 
        ev.store_hint = persistent;
-       bacpy(&ev.key.bdaddr, &key->bdaddr);
+       bacpy(&ev.key.addr.bdaddr, &key->bdaddr);
+       ev.key.addr.type = MGMT_ADDR_BREDR;
        ev.key.type = key->type;
        memcpy(ev.key.val, key->val, 16);
        ev.key.pin_len = key->pin_len;