diff options
-rw-r--r-- | net/bluetooth/hci_event.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c index c3b0a08f5ab4..128e65ac60ae 100644 --- a/net/bluetooth/hci_event.c +++ b/net/bluetooth/hci_event.c | |||
@@ -3961,7 +3961,13 @@ static void hci_le_ltk_request_evt(struct hci_dev *hdev, struct sk_buff *skb) | |||
3961 | 3961 | ||
3962 | hci_send_cmd(hdev, HCI_OP_LE_LTK_REPLY, sizeof(cp), &cp); | 3962 | hci_send_cmd(hdev, HCI_OP_LE_LTK_REPLY, sizeof(cp), &cp); |
3963 | 3963 | ||
3964 | if (ltk->type & HCI_SMP_STK) { | 3964 | /* Ref. Bluetooth Core SPEC pages 1975 and 2004. STK is a |
3965 | * temporary key used to encrypt a connection following | ||
3966 | * pairing. It is used during the Encrypted Session Setup to | ||
3967 | * distribute the keys. Later, security can be re-established | ||
3968 | * using a distributed LTK. | ||
3969 | */ | ||
3970 | if (ltk->type == HCI_SMP_STK_SLAVE) { | ||
3965 | list_del(<k->list); | 3971 | list_del(<k->list); |
3966 | kfree(ltk); | 3972 | kfree(ltk); |
3967 | } | 3973 | } |