Bluetooth: Remove old_key_type from mgmt_ev_new_key
authorJohan Hedberg <johan.hedberg@nokia.com>
Thu, 28 Apr 2011 18:29:02 +0000 (11:29 -0700)
committerGustavo F. Padovan <padovan@profusion.mobi>
Thu, 28 Apr 2011 19:14:42 +0000 (16:14 -0300)
User space shouldn't have any need for the old key type so remove it
from the corresponding Management interface event.

Signed-off-by: Johan Hedberg <johan.hedberg@nokia.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
include/net/bluetooth/hci_core.h
include/net/bluetooth/mgmt.h
net/bluetooth/hci_core.c
net/bluetooth/mgmt.c

index 3a3f7b45380394983ad780f510164c9cf5e6154e..88c2cd92eaeae85c0d573f0a91f4d86a068862fa 100644 (file)
@@ -775,7 +775,7 @@ int mgmt_index_removed(u16 index);
 int mgmt_powered(u16 index, u8 powered);
 int mgmt_discoverable(u16 index, u8 discoverable);
 int mgmt_connectable(u16 index, u8 connectable);
-int mgmt_new_key(u16 index, struct link_key *key, u8 old_key_type);
+int mgmt_new_key(u16 index, struct link_key *key);
 int mgmt_connected(u16 index, bdaddr_t *bdaddr);
 int mgmt_disconnected(u16 index, bdaddr_t *bdaddr);
 int mgmt_disconnect_failed(u16 index);
index c444a2b87e72ede15d0cf78483c1b383936fd307..353a85dc2de0d5088086fe01742fafd87b7978bb 100644 (file)
@@ -231,7 +231,6 @@ struct mgmt_ev_controller_error {
 #define MGMT_EV_NEW_KEY                        0x000A
 struct mgmt_ev_new_key {
        struct mgmt_key_info key;
-       __u8 old_key_type;
 } __packed;
 
 #define MGMT_EV_CONNECTED              0x000B
index 59ca4755b6b3103cb38a2c30e559a3df11ec04fa..60260cae3a04edae4b5ff5a35a0e7cfa231718b7 100644 (file)
@@ -1097,14 +1097,15 @@ int hci_add_link_key(struct hci_dev *hdev, struct hci_conn *conn, int new_key,
 
        bacpy(&key->bdaddr, bdaddr);
        memcpy(key->val, val, 16);
-       key->type = type;
        key->pin_len = pin_len;
 
-       if (new_key)
-               mgmt_new_key(hdev->id, key, old_key_type);
-
        if (type == HCI_LK_CHANGED_COMBINATION)
                key->type = old_key_type;
+       else
+               key->type = type;
+
+       if (new_key)
+               mgmt_new_key(hdev->id, key);
 
        return 0;
 }
index e1384fc6016ca87fa2216af112ccd36f32e2f550..232ea8bfff19f771b9ec4df93120c665df8419b6 100644 (file)
@@ -1858,7 +1858,7 @@ int mgmt_connectable(u16 index, u8 connectable)
        return ret;
 }
 
-int mgmt_new_key(u16 index, struct link_key *key, u8 old_key_type)
+int mgmt_new_key(u16 index, struct link_key *key)
 {
        struct mgmt_ev_new_key ev;
 
@@ -1868,7 +1868,6 @@ int mgmt_new_key(u16 index, struct link_key *key, u8 old_key_type)
        ev.key.type = key->type;
        memcpy(ev.key.val, key->val, 16);
        ev.key.pin_len = key->pin_len;
-       ev.old_key_type = old_key_type;
 
        return mgmt_event(MGMT_EV_NEW_KEY, index, &ev, sizeof(ev), NULL);
 }