Commit 7f7fd17e authored by Marcel Holtmann's avatar Marcel Holtmann Committed by Luiz Augusto von Dentz
Browse files

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: ad933151 ("Bluetooth: Add offload feature under experimental flag")
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
parent 823f3bc4
Loading
Loading
Loading
Loading
+4 −13
Original line number Diff line number Diff line
@@ -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.
			 */
			flags = BIT(0);

			/* BIT(1): indicating if codec offload feature
			 * is enabled.
			 */
	if (hdev && hdev->get_data_path_id) {
		if (hci_dev_test_flag(hdev, HCI_OFFLOAD_CODECS_ENABLED))
				flags |= BIT(1);
		} else {
			flags = BIT(0);
		else
			flags = 0;
		}

		memcpy(rp->features[idx].uuid, offload_codecs_uuid, 16);
		rp->features[idx].flags = cpu_to_le32(flags);
		idx++;