From: Andrei Emeltchenko <andrei.emeltchenko@xxxxxxxxx> create_device() should not search for apps again since we have searched already, and we do not have always app_id. --- android/health.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/android/health.c b/android/health.c index 2613ca6..df97848 100644 --- a/android/health.c +++ b/android/health.c @@ -1352,12 +1352,11 @@ static int connect_mcl(struct health_channel *channel) search_cb, channel, NULL, 0); } -static struct health_device *create_device(uint16_t app_id, const uint8_t *addr) +static struct health_device *create_device(struct health_app *app, + const uint8_t *addr) { - struct health_app *app; struct health_device *dev; - app = queue_find(apps, app_by_app_id, INT_TO_PTR(app_id)); if (!app) return NULL; @@ -1367,7 +1366,6 @@ static struct health_device *create_device(uint16_t app_id, const uint8_t *addr) return NULL; android2bdaddr(addr, &dev->dst); - dev->app_id = app_id; dev->channels = queue_new(); if (!dev->channels) { free_health_device(dev); @@ -1397,7 +1395,11 @@ static struct health_device *get_device(uint16_t app_id, const uint8_t *addr) if (dev) return dev; - return create_device(app_id, addr); + dev = create_device(app, addr); + if (dev) + dev->app_id = app_id; + + return dev; } static struct health_channel *create_channel(uint16_t app_id, -- 1.8.3.2 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html