diff --git a/audio/avdtp.c b/audio/avdtp.c
index 54b3d08..bd91cb6 100644
--- a/audio/avdtp.c
+++ b/audio/avdtp.c
{
struct avdtp *session = user_data;
char address[18];
- GError *gerr = NULL;
+ int err_no = EIO;
if (err) {
+ err_no = err->code;
error("%s", err->message);
goto failed;
}
if (!session->io)
session->io = g_io_channel_ref(chan);
- bt_io_get(chan, &gerr,
+ bt_io_get(chan, &err,
BT_IO_OPT_OMTU, &session->omtu,
BT_IO_OPT_IMTU, &session->imtu,
BT_IO_OPT_INVALID);
- if (gerr) {
- error("%s", gerr->message);
- g_error_free(gerr);
+ if (err) {
+ err_no = err->code;
+ error("%s", err->message);
goto failed;
}
avdtp_sep_set_state(session, stream->lsep,
AVDTP_STATE_IDLE);
} else
- connection_lost(session, EIO);
+ connection_lost(session, err_no);
}
static void auth_cb(DBusError *derr, void *user_data)