Diff between 899b06316bda4c64c9184f8d11ce56136d6bad96 and 015aee415fca6c51b14c74d4227ea7f92a8f4d55

Changed Files

File Additions Deletions Status
lib/hci.c +8 -1 modified

Full Patch

diff --git a/lib/hci.c b/lib/hci.c
index 392df71..e3cc513 100644
--- a/lib/hci.c
+++ b/lib/hci.c
@@ -900,8 +900,15 @@ static int __same_bdaddr(int dd, int dev_id, long arg)
 
 int hci_get_route(bdaddr_t *bdaddr)
 {
-	return hci_for_each_dev(HCI_UP, __other_bdaddr,
+	int dev_id;
+
+	dev_id = hci_for_each_dev(HCI_UP, __other_bdaddr,
+				(long) (bdaddr ? bdaddr : BDADDR_ANY));
+	if (dev_id < 0)
+		dev_id = hci_for_each_dev(HCI_UP, __same_bdaddr,
 				(long) (bdaddr ? bdaddr : BDADDR_ANY));
+
+	return dev_id;
 }
 
 int hci_devid(const char *str)