diff --git a/android/health.c b/android/health.c
index 665482e..ee6c11b 100644
--- a/android/health.c
+++ b/android/health.c
uint16_t app_id;
struct mcap_mcl *mcl;
- bool mcl_conn;
struct queue *channels; /* data channels */
mcap_close_mcl(dev->mcl, FALSE);
mcap_mcl_unref(dev->mcl);
dev->mcl = NULL;
- dev->mcl_conn = false;
}
static void free_health_device(void *data)
if (!channel->dev->mcl)
channel->dev->mcl = mcap_mcl_ref(mcl);
- channel->dev->mcl_conn = true;
info("health: MCL connected");
ret = set_mcl_cb(channel->dev->mcl, channel, &gerr);
}
}
- if (!dev->mcl || (dev->mcl && !dev->mcl_conn)) {
+ if (!dev->mcl) {
if (connect_mcl(channel) < 0) {
error("health: error retrieving HDP SDP record");
goto fail;
error("device data does not exists");
return;
}
-
- dev->mcl_conn = true;
}
static void mcl_disconnected(struct mcap_mcl *mcl, gpointer data)
info("health: MCL disconnected");
dev = search_dev_by_mcl(mcl);
- if (dev)
- dev->mcl_conn = false;
+ unref_mcl(dev);
}
static void mcl_uncached(struct mcap_mcl *mcl, gpointer data)
{
- struct health_device *dev;
-
- DBG("");
-
- dev = search_dev_by_mcl(mcl);
- free_health_device(dev);
+ /* mcap library maintains cache of mcls, not required here */
}
bool bt_health_register(struct ipc *ipc, const bdaddr_t *addr, uint8_t mode)