2021-10-08 13:55:14

by Kiran K

[permalink] [raw]
Subject: [PATCH v1 7/7] Bluetooth: Read Output codec capabilities

When reading codec capabilities, read output (controller to host)
capabilities also along with input (host to controller) capabilities.

Change-Id: I68c9aaca0fb0f57be3cceb33251b39acfae58aaa
---
net/bluetooth/hci_codec.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/net/bluetooth/hci_codec.c b/net/bluetooth/hci_codec.c
index 6d4e5353f05c..c6bd934dcf36 100644
--- a/net/bluetooth/hci_codec.c
+++ b/net/bluetooth/hci_codec.c
@@ -159,6 +159,9 @@ void hci_read_supported_codecs(struct hci_dev *hdev)
caps.id = std_codecs->codec[i];
caps.direction = 0x00;
hci_read_codec_capabilities(hdev, LOCAL_CODEC_ACL_MASK, &caps);
+
+ caps.direction = 0x01;
+ hci_read_codec_capabilities(hdev, LOCAL_CODEC_ACL_MASK, &caps);
}

skb_pull(skb, flex_array_size(std_codecs, codec, std_codecs->num)
@@ -179,6 +182,9 @@ void hci_read_supported_codecs(struct hci_dev *hdev)
caps.vid = vnd_codecs->codec[i].vid;
caps.direction = 0x00;
hci_read_codec_capabilities(hdev, LOCAL_CODEC_ACL_MASK, &caps);
+
+ caps.direction = 0x01;
+ hci_read_codec_capabilities(hdev, LOCAL_CODEC_ACL_MASK, &caps);
}

error:
@@ -224,6 +230,10 @@ void hci_read_supported_codecs_v2(struct hci_dev *hdev)

for (i = 0; i < std_codecs->num; i++) {
caps.id = std_codecs->codec[i].id;
+ caps.direction = 0x00;
+ hci_read_codec_capabilities(hdev, std_codecs->codec[i].transport,
+ &caps);
+ caps.direction = 0x01;
hci_read_codec_capabilities(hdev, std_codecs->codec[i].transport,
&caps);
}
@@ -243,6 +253,10 @@ void hci_read_supported_codecs_v2(struct hci_dev *hdev)
caps.id = 0xFF;
caps.cid = vnd_codecs->codec[i].cid;
caps.vid = vnd_codecs->codec[i].vid;
+ caps.direction = 0x00;
+ hci_read_codec_capabilities(hdev, vnd_codecs->codec[i].transport,
+ &caps);
+ caps.direction = 0x01;
hci_read_codec_capabilities(hdev, vnd_codecs->codec[i].transport,
&caps);
}
--
2.17.1