Commit 823f3bc4 authored by Marcel Holtmann's avatar Marcel Holtmann Committed by Luiz Augusto von Dentz

Bluetooth: Fix handling of experimental feature for quality reports

The existence of the experimental feature identifiy is the indication
that it is supported or not. No extra flag needed and the initial flag
should define if a feature is enabled or not. This is actually defined
in the management API definition.

Fixes: ae7d925b ("Bluetooth: Support the quality report events")
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
parent d1dcbf61
......@@ -3863,19 +3863,12 @@ static int read_exp_features_info(struct sock *sk, struct hci_dev *hdev,
idx++;
}
if (hdev) {
if (hdev->set_quality_report) {
/* BIT(0): indicating if set_quality_report is
* supported by controller.
*/
if (hdev && hdev->set_quality_report) {
if (hci_dev_test_flag(hdev, HCI_QUALITY_REPORT))
flags = BIT(0);
/* BIT(1): indicating if the feature is enabled. */
if (hci_dev_test_flag(hdev, HCI_QUALITY_REPORT))
flags |= BIT(1);
} else {
else
flags = 0;
}
memcpy(rp->features[idx].uuid, quality_report_uuid, 16);
rp->features[idx].flags = cpu_to_le32(flags);
idx++;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment