diff options
-rw-r--r-- | src/dbus-hci.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/dbus-hci.c b/src/dbus-hci.c index b713b16f..7e258989 100644 --- a/src/dbus-hci.c +++ b/src/dbus-hci.c @@ -1831,13 +1831,22 @@ int hcid_dbus_get_io_cap(bdaddr_t *local, bdaddr_t *remote, agent = adapter->agent; if (!agent) { - /* No agent available, and no bonding case */ + /* No agent available, and no bonding case (acceptor) */ if (device && (device_get_auth(device) == 0x00 || device_get_auth(device) == 0x01)) { /* No input, no output */ *cap = 0x03; return 0; } + + /* No agent available, and no bonding case (initiator) */ + if (*auth == 0x00 || *auth == 0x01) { + /* No input, no output */ + *cap = 0x03; + return 0; + } + + /* This is the non bondable case */ error("No agent available for IO capability"); return -1; } |