summaryrefslogtreecommitdiffstats
path: root/audio/manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'audio/manager.c')
-rw-r--r--audio/manager.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/audio/manager.c b/audio/manager.c
index 242f16bb..18ef9eb4 100644
--- a/audio/manager.c
+++ b/audio/manager.c
@@ -1164,9 +1164,7 @@ static void auth_cb(DBusError *derr, void *user_data)
error("Access denied: %s", derr->message);
if (dbus_error_has_name(derr, DBUS_ERROR_NO_REPLY)) {
debug("Canceling authorization request");
- if (service_cancel_auth(&device->dst) < 0)
- manager_cancel_authorize(&device->dst, uuid,
- NULL);
+ service_cancel_auth(&device->src, &device->dst);
}
headset_set_state(device, HEADSET_STATE_DISCONNECTED);
@@ -1219,9 +1217,13 @@ static void ag_io_cb(GIOChannel *chan, int err, const bdaddr_t *src,
goto drop;
}
- if (!service_req_auth(&device->src, &device->dst, uuid, auth_cb,
- device) == 0)
+ err = service_req_auth(&device->src, &device->dst, uuid, auth_cb,
+ device);
+ if (err < 0) {
+ debug("Authorization denied: %s", strerror(-err));
headset_close_rfcomm(device);
+ return;
+ }
headset_set_state(device, HEADSET_STATE_CONNECT_IN_PROGRESS);