Bluetooth: Process result of HCI Delete Stored Link Key command
When the HCI Delete Stored Link Key command completes, then update the value of current stored keys in hci_dev structure. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:
parent
039d4e410c
commit
a936612036
1 changed files with 20 additions and 0 deletions
|
@ -232,6 +232,22 @@ static void hci_cc_read_stored_link_key(struct hci_dev *hdev,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void hci_cc_delete_stored_link_key(struct hci_dev *hdev,
|
||||||
|
struct sk_buff *skb)
|
||||||
|
{
|
||||||
|
struct hci_rp_delete_stored_link_key *rp = (void *)skb->data;
|
||||||
|
|
||||||
|
BT_DBG("%s status 0x%2.2x", hdev->name, rp->status);
|
||||||
|
|
||||||
|
if (rp->status)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (rp->num_keys <= hdev->stored_num_keys)
|
||||||
|
hdev->stored_num_keys -= rp->num_keys;
|
||||||
|
else
|
||||||
|
hdev->stored_num_keys = 0;
|
||||||
|
}
|
||||||
|
|
||||||
static void hci_cc_write_local_name(struct hci_dev *hdev, struct sk_buff *skb)
|
static void hci_cc_write_local_name(struct hci_dev *hdev, struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
__u8 status = *((__u8 *) skb->data);
|
__u8 status = *((__u8 *) skb->data);
|
||||||
|
@ -2736,6 +2752,10 @@ static void hci_cmd_complete_evt(struct hci_dev *hdev, struct sk_buff *skb)
|
||||||
hci_cc_read_stored_link_key(hdev, skb);
|
hci_cc_read_stored_link_key(hdev, skb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case HCI_OP_DELETE_STORED_LINK_KEY:
|
||||||
|
hci_cc_delete_stored_link_key(hdev, skb);
|
||||||
|
break;
|
||||||
|
|
||||||
case HCI_OP_WRITE_LOCAL_NAME:
|
case HCI_OP_WRITE_LOCAL_NAME:
|
||||||
hci_cc_write_local_name(hdev, skb);
|
hci_cc_write_local_name(hdev, skb);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Reference in a new issue