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

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

Bluetooth: HCI name update to hci_request.c



We'll soon need this both from hci_request.c and mgmt.c so move it as
a request helper function to hci_request.c.

Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent c366f555
Loading
Loading
Loading
Loading
+10 −0
Original line number Original line Diff line number Diff line
@@ -420,6 +420,16 @@ static void __hci_update_background_scan(struct hci_request *req)
	}
	}
}
}


void __hci_req_update_name(struct hci_request *req)
{
	struct hci_dev *hdev = req->hdev;
	struct hci_cp_write_local_name cp;

	memcpy(cp.name, hdev->dev_name, sizeof(cp.name));

	hci_req_add(req, HCI_OP_WRITE_LOCAL_NAME, sizeof(cp), &cp);
}

void hci_req_add_le_scan_disable(struct hci_request *req)
void hci_req_add_le_scan_disable(struct hci_request *req)
{
{
	struct hci_cp_le_set_scan_enable cp;
	struct hci_cp_le_set_scan_enable cp;
+2 −0
Original line number Original line Diff line number Diff line
@@ -55,6 +55,8 @@ void hci_req_sync_cancel(struct hci_dev *hdev, int err);
struct sk_buff *hci_prepare_cmd(struct hci_dev *hdev, u16 opcode, u32 plen,
struct sk_buff *hci_prepare_cmd(struct hci_dev *hdev, u16 opcode, u32 plen,
				const void *param);
				const void *param);


void __hci_req_update_name(struct hci_request *req);

void hci_req_add_le_scan_disable(struct hci_request *req);
void hci_req_add_le_scan_disable(struct hci_request *req);
void hci_req_add_le_passive_scan(struct hci_request *req);
void hci_req_add_le_passive_scan(struct hci_request *req);


+2 −12
Original line number Original line Diff line number Diff line
@@ -3153,16 +3153,6 @@ static int user_passkey_neg_reply(struct sock *sk, struct hci_dev *hdev,
				 HCI_OP_USER_PASSKEY_NEG_REPLY, 0);
				 HCI_OP_USER_PASSKEY_NEG_REPLY, 0);
}
}


static void update_name(struct hci_request *req)
{
	struct hci_dev *hdev = req->hdev;
	struct hci_cp_write_local_name cp;

	memcpy(cp.name, hdev->dev_name, sizeof(cp.name));

	hci_req_add(req, HCI_OP_WRITE_LOCAL_NAME, sizeof(cp), &cp);
}

static void set_name_complete(struct hci_dev *hdev, u8 status, u16 opcode)
static void set_name_complete(struct hci_dev *hdev, u8 status, u16 opcode)
{
{
	struct mgmt_cp_set_local_name *cp;
	struct mgmt_cp_set_local_name *cp;
@@ -3241,7 +3231,7 @@ static int set_local_name(struct sock *sk, struct hci_dev *hdev, void *data,
	hci_req_init(&req, hdev);
	hci_req_init(&req, hdev);


	if (lmp_bredr_capable(hdev)) {
	if (lmp_bredr_capable(hdev)) {
		update_name(&req);
		__hci_req_update_name(&req);
		update_eir(&req);
		update_eir(&req);
	}
	}


@@ -6768,7 +6758,7 @@ static int powered_update_hci(struct hci_dev *hdev)
			write_fast_connectable(&req, false);
			write_fast_connectable(&req, false);
		__hci_req_update_scan(&req);
		__hci_req_update_scan(&req);
		__hci_req_update_class(&req);
		__hci_req_update_class(&req);
		update_name(&req);
		__hci_req_update_name(&req);
		update_eir(&req);
		update_eir(&req);
	}
	}