mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-01 02:33:57 +00:00
Bluetooth: Fix setting host feature bits for SSP
When we get a successful command complete for HCI_Write_SSP_Mode we need to update the host feature bits for the hdev struct accordingly. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Acked-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
This commit is contained in:
parent
f15504788d
commit
5ed8eb2f6b
@ -440,7 +440,7 @@ static void hci_cc_host_buffer_size(struct hci_dev *hdev, struct sk_buff *skb)
|
||||
static void hci_cc_write_ssp_mode(struct hci_dev *hdev, struct sk_buff *skb)
|
||||
{
|
||||
__u8 status = *((__u8 *) skb->data);
|
||||
void *sent;
|
||||
struct hci_cp_write_ssp_mode *sent;
|
||||
|
||||
BT_DBG("%s status 0x%2.2x", hdev->name, status);
|
||||
|
||||
@ -448,10 +448,17 @@ static void hci_cc_write_ssp_mode(struct hci_dev *hdev, struct sk_buff *skb)
|
||||
if (!sent)
|
||||
return;
|
||||
|
||||
if (!status) {
|
||||
if (sent->mode)
|
||||
hdev->host_features[0] |= LMP_HOST_SSP;
|
||||
else
|
||||
hdev->host_features[0] &= ~LMP_HOST_SSP;
|
||||
}
|
||||
|
||||
if (test_bit(HCI_MGMT, &hdev->dev_flags))
|
||||
mgmt_ssp_enable_complete(hdev, *((u8 *) sent), status);
|
||||
mgmt_ssp_enable_complete(hdev, sent->mode, status);
|
||||
else if (!status) {
|
||||
if (*((u8 *) sent))
|
||||
if (sent->mode)
|
||||
set_bit(HCI_SSP_ENABLED, &hdev->dev_flags);
|
||||
else
|
||||
clear_bit(HCI_SSP_ENABLED, &hdev->dev_flags);
|
||||
|
Loading…
Reference in New Issue
Block a user