From 4ec01bafb011ae59f8d67c83e23138723ffadcaa Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 19 Dec 2012 16:00:13 +0100 Subject: [PATCH] core: Provide address type information to unpair command --- src/adapter.c | 5 +++-- src/adapter.h | 8 ++++---- src/device.c | 2 +- src/mgmt.c | 4 ++-- src/mgmt.h | 2 +- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/adapter.c b/src/adapter.c index 85bc15424..7d4bc367c 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -3334,9 +3334,10 @@ int adapter_create_bonding(struct btd_adapter *adapter, const bdaddr_t *bdaddr, return mgmt_create_bonding(adapter->dev_id, bdaddr, addr_type, io_cap); } -int adapter_cancel_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) { - return mgmt_cancel_bonding(adapter->dev_id, bdaddr); + return mgmt_cancel_bonding(adapter->dev_id, bdaddr, addr_type); } static void check_oob_bonding_complete(struct btd_adapter *adapter, diff --git a/src/adapter.h b/src/adapter.h index b998219e1..89910cc76 100644 --- a/src/adapter.h +++ b/src/adapter.h @@ -193,11 +193,11 @@ int btd_adapter_set_did(struct btd_adapter *adapter, uint16_t vendor, uint16_t product, uint16_t version, uint16_t source); -int adapter_create_bonding(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, uint8_t bdaddr_type, - uint8_t io_cap); +int adapter_create_bonding(struct btd_adapter *adapter, const bdaddr_t *bdaddr, + uint8_t addr_type, uint8_t io_cap); -int adapter_cancel_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, diff --git a/src/device.c b/src/device.c index ba8790e1c..4af217961 100644 --- a/src/device.c +++ b/src/device.c @@ -1009,7 +1009,7 @@ static void bonding_request_cancel(struct bonding_req *bonding) struct btd_device *device = bonding->device; struct btd_adapter *adapter = device->adapter; - adapter_cancel_bonding(adapter, &device->bdaddr); + adapter_cancel_bonding(adapter, &device->bdaddr, device->bdaddr_type); } static void dev_disconn_profile(gpointer a, gpointer b) diff --git a/src/mgmt.c b/src/mgmt.c index 5ae24ec72..83e4f91cf 100644 --- a/src/mgmt.c +++ b/src/mgmt.c @@ -2625,7 +2625,7 @@ int mgmt_create_bonding(int index, const bdaddr_t *bdaddr, uint8_t addr_type, return 0; } -int mgmt_cancel_bonding(int index, const bdaddr_t *bdaddr) +int mgmt_cancel_bonding(int index, const bdaddr_t *bdaddr, uint8_t addr_type) { char buf[MGMT_HDR_SIZE + sizeof(struct mgmt_addr_info)]; struct mgmt_hdr *hdr = (void *) buf; @@ -2633,7 +2633,7 @@ int mgmt_cancel_bonding(int index, const bdaddr_t *bdaddr) char addr[18]; ba2str(bdaddr, addr); - DBG("hci%d bdaddr %s", index, addr); + DBG("hci%d bdaddr %s type %d", index, addr, addr_type); memset(buf, 0, sizeof(buf)); hdr->opcode = htobs(MGMT_OP_CANCEL_PAIR_DEVICE); diff --git a/src/mgmt.h b/src/mgmt.h index daa168aff..1ea84885f 100644 --- a/src/mgmt.h +++ b/src/mgmt.h @@ -63,7 +63,7 @@ int mgmt_set_io_capability(int index, uint8_t io_capability); int mgmt_create_bonding(int index, const bdaddr_t *bdaddr, uint8_t addr_type, uint8_t io_cap); -int mgmt_cancel_bonding(int index, const bdaddr_t *bdaddr); +int mgmt_cancel_bonding(int index, const bdaddr_t *bdaddr, uint8_t addr_type); int mgmt_pincode_reply(int index, const bdaddr_t *bdaddr, const char *pin, size_t pin_len); -- 2.47.3