From: Marcel Holtmann Date: Tue, 28 Sep 2021 10:10:15 +0000 (+0200) Subject: Bluetooth: Fix handling of experimental feature for codec offload X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=7f7fd17ed7c5228229f55f2082c0fd784cc4dad4;p=linux.git Bluetooth: Fix handling of experimental feature for codec offload 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: ad93315183285 ("Bluetooth: Add offload feature under experimental flag") Signed-off-by: Marcel Holtmann Signed-off-by: Luiz Augusto von Dentz --- diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c index 84336be4d00dc..3e5283607b97c 100644 --- a/net/bluetooth/mgmt.c +++ b/net/bluetooth/mgmt.c @@ -3874,21 +3874,12 @@ static int read_exp_features_info(struct sock *sk, struct hci_dev *hdev, idx++; } - if (hdev) { - if (hdev->get_data_path_id) { - /* BIT(0): indicating if offload codecs are - * supported by controller. - */ + if (hdev && hdev->get_data_path_id) { + if (hci_dev_test_flag(hdev, HCI_OFFLOAD_CODECS_ENABLED)) flags = BIT(0); - - /* BIT(1): indicating if codec offload feature - * is enabled. - */ - if (hci_dev_test_flag(hdev, HCI_OFFLOAD_CODECS_ENABLED)) - flags |= BIT(1); - } else { + else flags = 0; - } + memcpy(rp->features[idx].uuid, offload_codecs_uuid, 16); rp->features[idx].flags = cpu_to_le32(flags); idx++;