Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 291094
b: refs/heads/master
c: 2b4bf39
h: refs/heads/master
v: v3
  • Loading branch information
Johan Hedberg committed Mar 2, 2012
1 parent 20d301d commit 463b9fb
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 17 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 4f87da80a5210e66fb47b0e839f4d05016986f78
refs/heads/master: 2b4bf3974249da74f4aef1e9180d4beaf6332515
8 changes: 0 additions & 8 deletions trunk/net/bluetooth/hci_event.c
Original file line number Diff line number Diff line change
Expand Up @@ -552,14 +552,6 @@ static void hci_setup(struct hci_dev *hdev)
if (hdev->hci_ver > BLUETOOTH_VER_1_1)
hci_send_cmd(hdev, HCI_OP_READ_LOCAL_COMMANDS, 0, NULL);

if (!test_bit(HCI_SETUP, &hdev->dev_flags) &&
test_bit(HCI_MGMT, &hdev->dev_flags)) {
struct hci_cp_write_local_name cp;

memcpy(cp.name, hdev->dev_name, sizeof(cp.name));
hci_send_cmd(hdev, HCI_OP_WRITE_LOCAL_NAME, sizeof(cp), &cp);
}

if (hdev->features[6] & LMP_SIMPLE_PAIR) {
if (test_bit(HCI_SSP_ENABLED, &hdev->dev_flags)) {
u8 mode = 0x01;
Expand Down
22 changes: 14 additions & 8 deletions trunk/net/bluetooth/mgmt.c
Original file line number Diff line number Diff line change
Expand Up @@ -2104,23 +2104,30 @@ static int user_passkey_neg_reply(struct sock *sk, struct hci_dev *hdev,
HCI_OP_USER_PASSKEY_NEG_REPLY, 0);
}

static int update_name(struct hci_dev *hdev, const char *name)
{
struct hci_cp_write_local_name cp;

memcpy(cp.name, name, sizeof(cp.name));

return hci_send_cmd(hdev, HCI_OP_WRITE_LOCAL_NAME, sizeof(cp), &cp);
}

static int set_local_name(struct sock *sk, struct hci_dev *hdev, void *data,
u16 len)
{
struct mgmt_cp_set_local_name *mgmt_cp = data;
struct hci_cp_write_local_name hci_cp;
struct mgmt_cp_set_local_name *cp = data;
struct pending_cmd *cmd;
int err;

BT_DBG("");

hci_dev_lock(hdev);

memcpy(hdev->short_name, mgmt_cp->short_name,
sizeof(hdev->short_name));
memcpy(hdev->short_name, cp->short_name, sizeof(hdev->short_name));

if (!hdev_is_powered(hdev)) {
memcpy(hdev->dev_name, mgmt_cp->name, sizeof(hdev->dev_name));
memcpy(hdev->dev_name, cp->name, sizeof(hdev->dev_name));

err = cmd_complete(sk, hdev->id, MGMT_OP_SET_LOCAL_NAME, 0,
data, len);
Expand All @@ -2139,9 +2146,7 @@ static int set_local_name(struct sock *sk, struct hci_dev *hdev, void *data,
goto failed;
}

memcpy(hci_cp.name, mgmt_cp->name, sizeof(hci_cp.name));
err = hci_send_cmd(hdev, HCI_OP_WRITE_LOCAL_NAME, sizeof(hci_cp),
&hci_cp);
err = update_name(hdev, cp->name);
if (err < 0)
mgmt_pending_remove(cmd);

Expand Down Expand Up @@ -2794,6 +2799,7 @@ int mgmt_powered(struct hci_dev *hdev, u8 powered)
hci_send_cmd(hdev, HCI_OP_WRITE_SCAN_ENABLE, 1, &scan);

update_class(hdev);
update_name(hdev, hdev->dev_name);
update_eir(hdev);
} else {
u8 status = MGMT_STATUS_NOT_POWERED;
Expand Down

0 comments on commit 463b9fb

Please sign in to comment.