diff --git a/android/pan.c b/android/pan.c
index 87fa4e8..26c28a2 100644
--- a/android/pan.c
+++ b/android/pan.c
if (err) {
error("%s", err->message);
- bt_pan_notify_conn_state(dev, HAL_PAN_STATE_DISCONNECTED);
- pan_device_free(dev);
+ goto fail;
}
src = (local_role == HAL_PAN_ROLE_NAP) ? BNEP_SVC_NAP : BNEP_SVC_PANU;
perr = bnep_connect(sk, src, dst, bnep_conn_cb, dev);
if (perr < 0) {
error("bnep connect req failed: %s", strerror(-perr));
- bt_pan_notify_conn_state(dev, HAL_PAN_STATE_DISCONNECTED);
- pan_device_free(dev);
- return;
+ goto fail;
}
+
+ return;
+
+fail:
+ bt_pan_notify_conn_state(dev, HAL_PAN_STATE_DISCONNECTED);
+ pan_device_free(dev);
}
static void bt_pan_connect(const void *buf, uint16_t len)