Bluetooth: Fix missing command complete for mgmt_load_long_term_keys
authorJohan Hedberg <johan.hedberg@intel.com>
Wed, 9 Jan 2013 13:29:34 +0000 (15:29 +0200)
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>
Thu, 10 Jan 2013 08:08:35 +0000 (06:08 -0200)
All management events are expected to indicate successful completion
through a command complete event, however  the load long term keys
command was missing this. This patch adds the missing event.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
net/bluetooth/mgmt.c

index 577f316d87ad726303cd81826955b56d8ce41d40..1dd41d48eb66c12e232f13ce6beafa43119dc704 100644 (file)
@@ -2648,7 +2648,7 @@ static int load_long_term_keys(struct sock *sk, struct hci_dev *hdev,
 {
        struct mgmt_cp_load_long_term_keys *cp = cp_data;
        u16 key_count, expected_len;
-       int i;
+       int i, err;
 
        key_count = __le16_to_cpu(cp->key_count);
 
@@ -2682,9 +2682,12 @@ static int load_long_term_keys(struct sock *sk, struct hci_dev *hdev,
                            key->enc_size, key->ediv, key->rand);
        }
 
+       err = cmd_complete(sk, hdev->id, MGMT_OP_LOAD_LONG_TERM_KEYS, 0,
+                          NULL, 0);
+
        hci_dev_unlock(hdev);
 
-       return 0;
+       return err;
 }
 
 static const struct mgmt_handler {