diff options
author | Johan Hedberg <johan.hedberg@nokia.com> | 2011-04-28 11:29:00 -0700 |
---|---|---|
committer | Gustavo F. Padovan <padovan@profusion.mobi> | 2011-04-28 16:14:41 -0300 |
commit | 12adcf3a953c3aa4006d855aa638133bf018ceac (patch) | |
tree | f39d0e208c172f3956e7e59874091bee9c361488 /net/bluetooth | |
parent | d25e28abe58d2bcedf6025a6ccc532c29a19046f (diff) | |
download | linux-3.10-12adcf3a953c3aa4006d855aa638133bf018ceac.tar.gz linux-3.10-12adcf3a953c3aa4006d855aa638133bf018ceac.tar.bz2 linux-3.10-12adcf3a953c3aa4006d855aa638133bf018ceac.zip |
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')
-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 5f55aef63e2..2ac6036b70c 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, old_key_type = old_key->type; key = old_key; } else { - old_key_type = 0xff; + old_key_type = conn ? conn->key_type : 0xff; key = kzalloc(sizeof(*key), GFP_ATOMIC); if (!key) return -ENOMEM; |