Diff between be8b264e9d3a8c3130c741d3f559104a8d313c7d and 3ed9073f44107ef63b8852532020a84f450a158b

Changed Files

File Additions Deletions Status
src/adapter.c +11 -1 modified

Full Patch

diff --git a/src/adapter.c b/src/adapter.c
index e98b604..60509ec 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -3450,10 +3450,15 @@ void adapter_auto_connect_add(struct btd_adapter *adapter,
 	bdaddr = device_get_address(device);
 	bdaddr_type = btd_device_get_bdaddr_type(device);
 
+	if (bdaddr_type == BDADDR_BREDR) {
+		DBG("auto-connection feature is not avaiable for BR/EDR");
+		return;
+	}
+
 	memset(&cp, 0, sizeof(cp));
 	bacpy(&cp.addr.bdaddr, bdaddr);
 	cp.addr.type = bdaddr_type;
-	cp.action = 0x01;
+	cp.action = 0x02;
 
 	id = mgmt_send(adapter->mgmt, MGMT_OP_ADD_DEVICE,
 			adapter->dev_id, sizeof(cp), &cp, add_device_complete,
@@ -3505,6 +3510,11 @@ void adapter_auto_connect_remove(struct btd_adapter *adapter,
 	bdaddr = device_get_address(device);
 	bdaddr_type = btd_device_get_bdaddr_type(device);
 
+	if (bdaddr_type == BDADDR_BREDR) {
+		DBG("auto-connection feature is not avaiable for BR/EDR");
+		return;
+	}
+
 	memset(&cp, 0, sizeof(cp));
 	bacpy(&cp.addr.bdaddr, bdaddr);
 	cp.addr.type = bdaddr_type;