Bluetooth: Add definitions for link key types
authorWaldemar Rymarkiewicz <waldemar.rymarkiewicz@tieto.com>
Thu, 28 Apr 2011 10:07:53 +0000 (12:07 +0200)
committerGustavo F. Padovan <padovan@profusion.mobi>
Thu, 28 Apr 2011 18:02:04 +0000 (15:02 -0300)
Introduce the link key types defs and use them instead of magic numbers.

Signed-off-by: Waldemar Rymarkiewicz <waldemar.rymarkiewicz@tieto.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
include/net/bluetooth/hci.h
net/bluetooth/hci_core.c
net/bluetooth/hci_event.c

index 6138e313d175e853e98343f5ce43da446edda95d..e0a3cf1234b26bc4cafd7fcdfb70df80e144ad19 100644 (file)
@@ -246,6 +246,15 @@ enum {
 #define HCI_AT_GENERAL_BONDING         0x04
 #define HCI_AT_GENERAL_BONDING_MITM    0x05
 
+/* Link Key types */
+#define HCI_LK_COMBINATION             0x00
+#define HCI_LK_LOCAL_UNIT              0x01
+#define HCI_LK_REMOTE_UNIT             0x02
+#define HCI_LK_DEBUG_COMBINATION       0x03
+#define HCI_LK_UNAUTH_COMBINATION      0x04
+#define HCI_LK_AUTH_COMBINATION                0x05
+#define HCI_LK_CHANGED_COMBINATION     0x06
+
 /* -----  HCI Commands ---- */
 #define HCI_OP_NOP                     0x0000
 
index 98aa24b92c585326570b2782e6bc164b8a3832dd..07d0ba35b9a5fbd8b1ed1491edfe5bea0382f2ae 100644 (file)
@@ -1050,7 +1050,7 @@ int hci_add_link_key(struct hci_dev *hdev, int new_key, bdaddr_t *bdaddr,
        if (new_key)
                mgmt_new_key(hdev->id, key, old_key_type);
 
-       if (type == 0x06)
+       if (type == HCI_LK_CHANGED_COMBINATION)
                key->type = old_key_type;
 
        return 0;
index e64a3de70d777e0e6e026961436cce511d2ef491..fbbb63f8a8974baeb0389fba671ac5dd66934739 100644 (file)
@@ -2053,15 +2053,16 @@ static inline void hci_link_key_request_evt(struct hci_dev *hdev, struct sk_buff
        BT_DBG("%s found key type %u for %s", hdev->name, key->type,
                                                        batostr(&ev->bdaddr));
 
-       if (!test_bit(HCI_DEBUG_KEYS, &hdev->flags) && key->type == 0x03) {
+       if (!test_bit(HCI_DEBUG_KEYS, &hdev->flags) &&
+                               key->type == HCI_LK_DEBUG_COMBINATION) {
                BT_DBG("%s ignoring debug key", hdev->name);
                goto not_found;
        }
 
        conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr);
 
-       if (key->type == 0x04 && conn && conn->auth_type != 0xff &&
-                                               (conn->auth_type & 0x01)) {
+       if (key->type == HCI_LK_UNAUTH_COMBINATION && conn &&
+                       conn->auth_type != 0xff && (conn->auth_type & 0x01)) {
                BT_DBG("%s ignoring unauthenticated key", hdev->name);
                goto not_found;
        }