Commit 29b7988a authored by Andre Guedes's avatar Andre Guedes Committed by Gustavo F. Padovan

Bluetooth: Add 'dst_type' field to struct hci_conn

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: default avatarAndre Guedes <andre.guedes@openbossa.org>
Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
parent d7556e20
...@@ -224,6 +224,7 @@ struct hci_conn { ...@@ -224,6 +224,7 @@ struct hci_conn {
spinlock_t lock; spinlock_t lock;
bdaddr_t dst; bdaddr_t dst;
__u8 dst_type;
__u16 handle; __u16 handle;
__u16 state; __u16 state;
__u8 mode; __u8 mode;
......
...@@ -1234,12 +1234,14 @@ static void hci_cs_le_create_conn(struct hci_dev *hdev, __u8 status) ...@@ -1234,12 +1234,14 @@ static void hci_cs_le_create_conn(struct hci_dev *hdev, __u8 status)
} else { } else {
if (!conn) { if (!conn) {
conn = hci_conn_add(hdev, LE_LINK, &cp->peer_addr); conn = hci_conn_add(hdev, LE_LINK, &cp->peer_addr);
if (conn) if (conn) {
conn->dst_type = cp->peer_addr_type;
conn->out = 1; conn->out = 1;
else } else {
BT_ERR("No memory for new connection"); BT_ERR("No memory for new connection");
} }
} }
}
hci_dev_unlock(hdev); hci_dev_unlock(hdev);
} }
...@@ -2694,6 +2696,8 @@ static inline void hci_le_conn_complete_evt(struct hci_dev *hdev, struct sk_buff ...@@ -2694,6 +2696,8 @@ static inline void hci_le_conn_complete_evt(struct hci_dev *hdev, struct sk_buff
hci_dev_unlock(hdev); hci_dev_unlock(hdev);
return; return;
} }
conn->dst_type = ev->bdaddr_type;
} }
if (ev->status) { if (ev->status) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment