Skip to content

Commit

Permalink
Bluetooth: Add 'dst_type' field to struct hci_conn
Browse files Browse the repository at this point in the history
This patch adds a new field (dst_type) to the struct hci_conn which
holds the type of the destination address (bdaddr_t dst). This
approach is needed in order to use the struct hci_conn as an
abstraction of LE connections in HCI Layer. For non-LE this field
is ignored.

This patch also set properly the 'dst_type' field after initializing
LE hci_conn structures.

Signed-off-by: Andre Guedes <andre.guedes@openbossa.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
  • Loading branch information
Andre Guedes authored and Gustavo F. Padovan committed Jun 8, 2011
1 parent d7556e2 commit 29b7988
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
1 change: 1 addition & 0 deletions include/net/bluetooth/hci_core.h
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,7 @@ struct hci_conn {
spinlock_t lock;

bdaddr_t dst;
__u8 dst_type;
__u16 handle;
__u16 state;
__u8 mode;
Expand Down
8 changes: 6 additions & 2 deletions net/bluetooth/hci_event.c
Original file line number Diff line number Diff line change
Expand Up @@ -1234,10 +1234,12 @@ static void hci_cs_le_create_conn(struct hci_dev *hdev, __u8 status)
} else {
if (!conn) {
conn = hci_conn_add(hdev, LE_LINK, &cp->peer_addr);
if (conn)
if (conn) {
conn->dst_type = cp->peer_addr_type;
conn->out = 1;
else
} else {
BT_ERR("No memory for new connection");
}
}
}

Expand Down Expand Up @@ -2694,6 +2696,8 @@ static inline void hci_le_conn_complete_evt(struct hci_dev *hdev, struct sk_buff
hci_dev_unlock(hdev);
return;
}

conn->dst_type = ev->bdaddr_type;
}

if (ev->status) {
Expand Down

0 comments on commit 29b7988

Please sign in to comment.