Skip to content

Commit f5526b7

Browse files
apanditgregkh
authored andcommitted
Bluetooth: btqca: Add valid le states quirk
[ Upstream commit 5478013 ] WCN3991 supports connectable advertisements so we need to add the valid le states quirk so the 'central-peripheral' role is exposed in userspace. Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org> Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 93d20ce commit f5526b7

1 file changed

Lines changed: 13 additions & 6 deletions

File tree

drivers/bluetooth/hci_qca.c

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ enum qca_flags {
7878

7979
enum qca_capabilities {
8080
QCA_CAP_WIDEBAND_SPEECH = BIT(0),
81+
QCA_CAP_VALID_LE_STATES = BIT(1),
8182
};
8283

8384
/* HCI_IBS transmit side sleep protocol states */
@@ -1782,7 +1783,7 @@ static const struct qca_device_data qca_soc_data_wcn3991 = {
17821783
{ "vddch0", 450000 },
17831784
},
17841785
.num_vregs = 4,
1785-
.capabilities = QCA_CAP_WIDEBAND_SPEECH,
1786+
.capabilities = QCA_CAP_WIDEBAND_SPEECH | QCA_CAP_VALID_LE_STATES,
17861787
};
17871788

17881789
static const struct qca_device_data qca_soc_data_wcn3998 = {
@@ -2019,11 +2020,17 @@ static int qca_serdev_probe(struct serdev_device *serdev)
20192020
hdev->shutdown = qca_power_off;
20202021
}
20212022

2022-
/* Wideband speech support must be set per driver since it can't be
2023-
* queried via hci.
2024-
*/
2025-
if (data && (data->capabilities & QCA_CAP_WIDEBAND_SPEECH))
2026-
set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks);
2023+
if (data) {
2024+
/* Wideband speech support must be set per driver since it can't
2025+
* be queried via hci. Same with the valid le states quirk.
2026+
*/
2027+
if (data->capabilities & QCA_CAP_WIDEBAND_SPEECH)
2028+
set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED,
2029+
&hdev->quirks);
2030+
2031+
if (data->capabilities & QCA_CAP_VALID_LE_STATES)
2032+
set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);
2033+
}
20272034

20282035
return 0;
20292036
}

0 commit comments

Comments
 (0)