Skip to content

Commit

Permalink
Bluetooth: Process result of HCI Delete Stored Link Key command
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Marcel Holtmann authored and Johan Hedberg committed Jan 12, 2015
1 parent 039d4e4 commit a936612
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions net/bluetooth/hci_event.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
__u8 status = *((__u8 *) skb->data);
Expand Down Expand Up @@ -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);
break;

case HCI_OP_DELETE_STORED_LINK_KEY:
hci_cc_delete_stored_link_key(hdev, skb);
break;

case HCI_OP_WRITE_LOCAL_NAME:
hci_cc_write_local_name(hdev, skb);
break;
Expand Down

0 comments on commit a936612

Please sign in to comment.