|
@@ -3477,6 +3477,17 @@ static void hci_le_conn_complete_evt(struct hci_dev *hdev, struct sk_buff *skb)
|
|
|
|
|
|
conn->dst_type = ev->bdaddr_type;
|
|
|
|
|
|
+ /* The advertising parameters for own address type
|
|
|
+ * define which source address and source address
|
|
|
+ * type this connections has.
|
|
|
+ */
|
|
|
+ if (bacmp(&conn->src, BDADDR_ANY)) {
|
|
|
+ conn->src_type = ADDR_LE_DEV_PUBLIC;
|
|
|
+ } else {
|
|
|
+ bacpy(&conn->src, &hdev->static_addr);
|
|
|
+ conn->src_type = ADDR_LE_DEV_RANDOM;
|
|
|
+ }
|
|
|
+
|
|
|
if (ev->role == LE_CONN_ROLE_MASTER) {
|
|
|
conn->out = true;
|
|
|
conn->link_mode |= HCI_LM_MASTER;
|