Diff between 92c0472a700f0d3ae2d2c32fc1d499f59eef5c10 and 7bca8a16aba48cea38bea7f8e887a5f7bc62d07c

Changed Files

File Additions Deletions Status
src/adapter.c +99 -99 modified
src/adapter.h +0 -4 modified

Full Patch

diff --git a/src/adapter.c b/src/adapter.c
index 4e6eb57..b12dd33 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -4148,64 +4148,6 @@ int btd_adapter_read_clock(struct btd_adapter *adapter, const bdaddr_t *bdaddr,
 	return -ENOSYS;
 }
 
-static void dev_disconnected(struct btd_adapter *adapter,
-					const struct mgmt_addr_info *addr,
-					uint8_t reason)
-{
-	struct btd_device *device;
-	char dst[18];
-
-	ba2str(&addr->bdaddr, dst);
-
-	DBG("Device %s disconnected, reason %u", dst, reason);
-
-	device = adapter_find_device(adapter, dst);
-	if (device)
-		adapter_remove_connection(adapter, device);
-
-	adapter_bonding_complete(adapter, &addr->bdaddr, addr->type,
-						MGMT_STATUS_DISCONNECTED);
-}
-
-static void disconnect_complete(uint8_t status, uint16_t length,
-					const void *param, void *user_data)
-{
-	const struct mgmt_rp_disconnect *rp = param;
-	struct btd_adapter *adapter = user_data;
-
-	if (status != MGMT_STATUS_SUCCESS) {
-		error("Failed to disconnect device: %s (0x%02x)",
-						mgmt_errstr(status), status);
-		return;
-	}
-
-	if (length < sizeof(*rp)) {
-		error("Too small device disconnect response");
-		return;
-	}
-
-	dev_disconnected(adapter, &rp->addr, MGMT_DEV_DISCONN_LOCAL_HOST);
-}
-
-int btd_adapter_disconnect_device(struct btd_adapter *adapter,
-						const bdaddr_t *bdaddr,
-						uint8_t bdaddr_type)
-
-{
-	struct mgmt_cp_disconnect cp;
-
-	memset(&cp, 0, sizeof(cp));
-	bacpy(&cp.addr.bdaddr, bdaddr);
-	cp.addr.type = bdaddr_type;
-
-	if (mgmt_send(adapter->mgmt, MGMT_OP_DISCONNECT,
-				adapter->dev_id, sizeof(cp), &cp,
-				disconnect_complete, adapter, NULL) > 0)
-		return 0;
-
-	return -EIO;
-}
-
 int btd_adapter_remove_bonding(struct btd_adapter *adapter,
 				const bdaddr_t *bdaddr, uint8_t bdaddr_type)
 {
@@ -4247,6 +4189,67 @@ int btd_adapter_passkey_reply(struct btd_adapter *adapter,
 								passkey);
 }
 
+int adapter_cancel_bonding(struct btd_adapter *adapter, const bdaddr_t *bdaddr,
+							 uint8_t addr_type)
+{
+	struct mgmt_addr_info cp;
+	char addr[18];
+
+	ba2str(bdaddr, addr);
+	DBG("hci%u bdaddr %s type %u", adapter->dev_id, addr, addr_type);
+
+	memset(&cp, 0, sizeof(cp));
+	bacpy(&cp.bdaddr, bdaddr);
+	cp.type = addr_type;
+
+	if (mgmt_send(adapter->mgmt, MGMT_OP_CANCEL_PAIR_DEVICE,
+				adapter->dev_id, sizeof(cp), &cp,
+				NULL, NULL, NULL) > 0)
+		return 0;
+
+	return -EIO;
+}
+
+static void check_oob_bonding_complete(struct btd_adapter *adapter,
+					const bdaddr_t *bdaddr, uint8_t status)
+{
+	if (!adapter->oob_handler || !adapter->oob_handler->bonding_cb)
+		return;
+
+	if (bacmp(bdaddr, &adapter->oob_handler->remote_addr) != 0)
+		return;
+
+	adapter->oob_handler->bonding_cb(adapter, bdaddr, status,
+					adapter->oob_handler->user_data);
+
+	g_free(adapter->oob_handler);
+	adapter->oob_handler = NULL;
+}
+
+static void adapter_bonding_complete(struct btd_adapter *adapter,
+					const bdaddr_t *bdaddr,
+					uint8_t addr_type, uint8_t status)
+{
+	struct btd_device *device;
+	char addr[18];
+
+	ba2str(bdaddr, addr);
+	if (status == 0)
+		device = adapter_get_device(adapter, addr, addr_type);
+	else
+		device = adapter_find_device(adapter, addr);
+
+	if (device != NULL)
+		device_bonding_complete(device, status);
+
+	if (adapter->discov_suspended) {
+		adapter->discov_suspended = FALSE;
+		mgmt_start_discovery(adapter);
+	}
+
+	check_oob_bonding_complete(adapter, bdaddr, status);
+}
+
 static void pair_device_complete(uint8_t status, uint16_t length,
 					const void *param, void *user_data)
 {
@@ -4297,65 +4300,62 @@ int adapter_create_bonding(struct btd_adapter *adapter, const bdaddr_t *bdaddr,
 	return -EIO;
 }
 
-int adapter_cancel_bonding(struct btd_adapter *adapter, const bdaddr_t *bdaddr,
-							 uint8_t addr_type)
+static void dev_disconnected(struct btd_adapter *adapter,
+					const struct mgmt_addr_info *addr,
+					uint8_t reason)
 {
-	struct mgmt_addr_info cp;
-	char addr[18];
+	struct btd_device *device;
+	char dst[18];
 
-	ba2str(bdaddr, addr);
-	DBG("hci%u bdaddr %s type %u", adapter->dev_id, addr, addr_type);
+	ba2str(&addr->bdaddr, dst);
 
-	memset(&cp, 0, sizeof(cp));
-	bacpy(&cp.bdaddr, bdaddr);
-	cp.type = addr_type;
+	DBG("Device %s disconnected, reason %u", dst, reason);
 
-	if (mgmt_send(adapter->mgmt, MGMT_OP_CANCEL_PAIR_DEVICE,
-				adapter->dev_id, sizeof(cp), &cp,
-				NULL, NULL, NULL) > 0)
-		return 0;
+	device = adapter_find_device(adapter, dst);
+	if (device)
+		adapter_remove_connection(adapter, device);
 
-	return -EIO;
+	adapter_bonding_complete(adapter, &addr->bdaddr, addr->type,
+						MGMT_STATUS_DISCONNECTED);
 }
 
-static void check_oob_bonding_complete(struct btd_adapter *adapter,
-					const bdaddr_t *bdaddr, uint8_t status)
+static void disconnect_complete(uint8_t status, uint16_t length,
+					const void *param, void *user_data)
 {
-	if (!adapter->oob_handler || !adapter->oob_handler->bonding_cb)
-		return;
+	const struct mgmt_rp_disconnect *rp = param;
+	struct btd_adapter *adapter = user_data;
 
-	if (bacmp(bdaddr, &adapter->oob_handler->remote_addr) != 0)
+	if (status != MGMT_STATUS_SUCCESS) {
+		error("Failed to disconnect device: %s (0x%02x)",
+						mgmt_errstr(status), status);
 		return;
+	}
 
-	adapter->oob_handler->bonding_cb(adapter, bdaddr, status,
-					adapter->oob_handler->user_data);
+	if (length < sizeof(*rp)) {
+		error("Too small device disconnect response");
+		return;
+	}
 
-	g_free(adapter->oob_handler);
-	adapter->oob_handler = NULL;
+	dev_disconnected(adapter, &rp->addr, MGMT_DEV_DISCONN_LOCAL_HOST);
 }
 
-void adapter_bonding_complete(struct btd_adapter *adapter,
-					const bdaddr_t *bdaddr,
-					uint8_t addr_type, uint8_t status)
-{
-	struct btd_device *device;
-	char addr[18];
+int btd_adapter_disconnect_device(struct btd_adapter *adapter,
+						const bdaddr_t *bdaddr,
+						uint8_t bdaddr_type)
 
-	ba2str(bdaddr, addr);
-	if (status == 0)
-		device = adapter_get_device(adapter, addr, addr_type);
-	else
-		device = adapter_find_device(adapter, addr);
+{
+	struct mgmt_cp_disconnect cp;
 
-	if (device != NULL)
-		device_bonding_complete(device, status);
+	memset(&cp, 0, sizeof(cp));
+	bacpy(&cp.addr.bdaddr, bdaddr);
+	cp.addr.type = bdaddr_type;
 
-	if (adapter->discov_suspended) {
-		adapter->discov_suspended = FALSE;
-		mgmt_start_discovery(adapter);
-	}
+	if (mgmt_send(adapter->mgmt, MGMT_OP_DISCONNECT,
+				adapter->dev_id, sizeof(cp), &cp,
+				disconnect_complete, adapter, NULL) > 0)
+		return 0;
 
-	check_oob_bonding_complete(adapter, bdaddr, status);
+	return -EIO;
 }
 
 static void auth_failed_callback(uint16_t index, uint16_t length,
diff --git a/src/adapter.h b/src/adapter.h
index c2cff69..5af8d0f 100644
--- a/src/adapter.h
+++ b/src/adapter.h
@@ -172,10 +172,6 @@ int adapter_create_bonding(struct btd_adapter *adapter, const bdaddr_t *bdaddr,
 int adapter_cancel_bonding(struct btd_adapter *adapter, const bdaddr_t *bdaddr,
 							uint8_t addr_type);
 
-void adapter_bonding_complete(struct btd_adapter *adapter,
-					const bdaddr_t *bdaddr,
-					uint8_t addr_type, uint8_t status);
-
 int adapter_set_io_capability(struct btd_adapter *adapter, uint8_t io_cap);
 
 int btd_adapter_read_local_oob_data(struct btd_adapter *adapter);