ソースを参照

Bluetooth: mgmt: Add address type to link key messages

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>
Johan Hedberg 13 年 前
コミット
d753fdc40f
2 ファイル変更5 行追加4 行削除
  1. 1 1
      include/net/bluetooth/mgmt.h
  2. 4 3
      net/bluetooth/mgmt.c

+ 1 - 1
include/net/bluetooth/mgmt.h

@@ -153,7 +153,7 @@ struct mgmt_cp_remove_uuid {
 } __packed;
 } __packed;
 
 
 struct mgmt_link_key_info {
 struct mgmt_link_key_info {
-	bdaddr_t bdaddr;
+	struct mgmt_addr_info addr;
 	u8 type;
 	u8 type;
 	u8 val[16];
 	u8 val[16];
 	u8 pin_len;
 	u8 pin_len;

+ 4 - 3
net/bluetooth/mgmt.c

@@ -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++) {
 	for (i = 0; i < key_count; i++) {
 		struct mgmt_link_key_info *key = &cp->keys[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);
 	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));
 	memset(&ev, 0, sizeof(ev));
 
 
 	ev.store_hint = persistent;
 	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;
 	ev.key.type = key->type;
 	memcpy(ev.key.val, key->val, 16);
 	memcpy(ev.key.val, key->val, 16);
 	ev.key.pin_len = key->pin_len;
 	ev.key.pin_len = key->pin_len;