Skip to content

Commit

Permalink
Bluetooth: Fix hci_le_conn_complete_evt
Browse files Browse the repository at this point in the history
We need to check the 'Role' parameter from the LE Connection
Complete Event in order to properly set 'out' and 'link_mode'
fields from hci_conn structure.

Signed-off-by: Andre Guedes <andre.guedes@openbossa.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
  • Loading branch information
Andre Guedes authored and Gustavo Padovan committed Aug 6, 2012
1 parent 230fd16 commit b9b343d
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 0 deletions.
2 changes: 2 additions & 0 deletions include/net/bluetooth/hci.h
Original file line number Diff line number Diff line change
Expand Up @@ -1304,6 +1304,8 @@ struct hci_ev_num_comp_blocks {
} __packed;

/* Low energy meta events */
#define LE_CONN_ROLE_MASTER 0x00

#define HCI_EV_LE_CONN_COMPLETE 0x01
struct hci_ev_le_conn_complete {
__u8 status;
Expand Down
5 changes: 5 additions & 0 deletions net/bluetooth/hci_event.c
Original file line number Diff line number Diff line change
Expand Up @@ -3368,6 +3368,11 @@ static void hci_le_conn_complete_evt(struct hci_dev *hdev, struct sk_buff *skb)
}

conn->dst_type = ev->bdaddr_type;

if (ev->role == LE_CONN_ROLE_MASTER) {
conn->out = true;
conn->link_mode |= HCI_LM_MASTER;
}
}

if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
Expand Down

0 comments on commit b9b343d

Please sign in to comment.