Thread (3 messages) 3 messages, 2 authors, 2016-05-02

Re: [PATCH] Bluetooth: Use hci_conn_hash_lookup_le

From: Johan Hedberg <hidden>
Date: 2016-05-02 18:03:15
Also in: kernel-janitors, linux-bluetooth, lkml

Hi,

On Fri, Apr 29, 2016, Julia Lawall wrote:
quoted hunk ↗ jump to hunk
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -4773,7 +4773,8 @@ static int get_conn_info(struct sock *sk, struct hci_dev *hdev, void *data,
 		conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK,
 					       &cp->addr.bdaddr);
 	else
-		conn = hci_conn_hash_lookup_ba(hdev, LE_LINK, &cp->addr.bdaddr);
+		conn = hci_conn_hash_lookup_le(hdev, &cp->addr.bdaddr,
+					       cp->addr.type);
I don't think is is correct. There are two possible domains for address
types: the user space-facing interface that has three values: BR/EDR, LE
public & LE random, and the internal one which maps to HCI that has two
values: random or public. You'd need to convert from the former to the
latter when making the lookup call, i.e:

	conn = hci_conn_hash_lookup_le(hdev, &cp->addr.bdaddr,
				       le_addr_type(cp->addr.type));


Johan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help