Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ee392693 authored by Marcel Holtmann's avatar Marcel Holtmann Committed by Johan Hedberg
Browse files

Bluetooth: Send new settings event when changing high speed option



When enabling or disabling high speed setting it is required to send
a new settings event to inform other management interface users about
the changed settings.

Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
parent 848566b3
Loading
Loading
Loading
Loading
+16 −3
Original line number Diff line number Diff line
@@ -1337,6 +1337,8 @@ static int set_ssp(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
static int set_hs(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
{
	struct mgmt_mode *cp = data;
	bool changed;
	int err;

	BT_DBG("request for %s", hdev->name);

@@ -1348,12 +1350,23 @@ static int set_hs(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
		return cmd_status(sk, hdev->id, MGMT_OP_SET_HS,
				  MGMT_STATUS_INVALID_PARAMS);

	hci_dev_lock(hdev);

	if (cp->val)
		set_bit(HCI_HS_ENABLED, &hdev->dev_flags);
		changed = !test_and_set_bit(HCI_HS_ENABLED, &hdev->dev_flags);
	else
		clear_bit(HCI_HS_ENABLED, &hdev->dev_flags);
		changed = test_and_clear_bit(HCI_HS_ENABLED, &hdev->dev_flags);

	err = send_settings_rsp(sk, MGMT_OP_SET_HS, hdev);
	if (err < 0)
		goto unlock;

	return send_settings_rsp(sk, MGMT_OP_SET_HS, hdev);
	if (changed)
		err = new_settings(hdev, sk);

unlock:
	hci_dev_unlock(hdev);
	return err;
}

static void le_enable_complete(struct hci_dev *hdev, u8 status)