diff --git a/src/adapter.c b/src/adapter.c
index 85bc154..7d4bc36 100644
--- a/src/adapter.c
+++ b/src/adapter.c
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 b998219..89910cc 100644
--- a/src/adapter.h
+++ b/src/adapter.h
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 ba8790e..4af2179 100644
--- a/src/device.c
+++ b/src/device.c
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 5ae24ec..83e4f91 100644
--- a/src/mgmt.c
+++ b/src/mgmt.c
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;
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 daa168a..1ea8488 100644
--- a/src/mgmt.h
+++ b/src/mgmt.h
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);