diff options
author | Johan Hedberg <johan.hedberg@nokia.com> | 2011-04-28 14:29:00 -0400 |
---|---|---|
committer | Gustavo F. Padovan <padovan@profusion.mobi> | 2011-04-28 15:14:41 -0400 |
commit | 12adcf3a953c3aa4006d855aa638133bf018ceac (patch) | |
tree | f39d0e208c172f3956e7e59874091bee9c361488 /net/bluetooth/hci_core.c | |
parent | d25e28abe58d2bcedf6025a6ccc532c29a19046f (diff) |
Bluetooth: Fix old_key_type logic for non-persistent keys
Even if there's no previous key stored the connection might still be
secured with a non-persistent key and in that case the key type in the
hci_conn struct should be checked.
Signed-off-by: Johan Hedberg <johan.hedberg@nokia.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'net/bluetooth/hci_core.c')
-rw-r--r-- | net/bluetooth/hci_core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c index 5f55aef63e20..2ac6036b70c3 100644 --- a/net/bluetooth/hci_core.c +++ b/net/bluetooth/hci_core.c | |||
@@ -1069,7 +1069,7 @@ int hci_add_link_key(struct hci_dev *hdev, struct hci_conn *conn, int new_key, | |||
1069 | old_key_type = old_key->type; | 1069 | old_key_type = old_key->type; |
1070 | key = old_key; | 1070 | key = old_key; |
1071 | } else { | 1071 | } else { |
1072 | old_key_type = 0xff; | 1072 | old_key_type = conn ? conn->key_type : 0xff; |
1073 | key = kzalloc(sizeof(*key), GFP_ATOMIC); | 1073 | key = kzalloc(sizeof(*key), GFP_ATOMIC); |
1074 | if (!key) | 1074 | if (!key) |
1075 | return -ENOMEM; | 1075 | return -ENOMEM; |