From: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
To: linux-bluetooth@vger.kernel.org
Cc: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
Subject: [PATCH 2/4] android/health: Remove mcl instance on mcl_disconnected call back
Date: Mon, 18 Aug 2014 12:07:00 +0300 [thread overview]
Message-ID: <1408352822-21572-2-git-send-email-ravikumar.veeramally@linux.intel.com> (raw)
In-Reply-To: <1408352822-21572-1-git-send-email-ravikumar.veeramally@linux.intel.com>
MCAP library is maintaining two sets of mcl list. On mcl_disconnected
call mcl instance is removed from regular mcl list and cached in mcl_cache
list. health.c doesn't maintain any cached mcls list. So mcl_conn variable
doesn't make any sense of not being connected on mcl_disconnected call back.
So unref mcl on mcl_disconnected and don't do anything in mcl_unached callback.
---
android/health.c | 18 ++++--------------
1 file changed, 4 insertions(+), 14 deletions(-)
diff --git a/android/health.c b/android/health.c
index f86fd26..361b043 100644
--- a/android/health.c
+++ b/android/health.c
@@ -85,7 +85,6 @@ struct health_device {
uint16_t app_id;
struct mcap_mcl *mcl;
- bool mcl_conn;
struct queue *channels; /* data channels */
@@ -193,7 +192,6 @@ static void unref_mcl(struct health_device *dev)
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)
@@ -1824,7 +1822,6 @@ static void create_mcl_cb(struct mcap_mcl *mcl, GError *err, gpointer data)
if (!channel->dev->mcl)
channel->dev->mcl = mcap_mcl_ref(mcl);
- channel->dev->mcl_conn = true;
info("MCL connected");
ret = set_mcl_cb(channel->dev->mcl, channel, &gerr);
@@ -1949,7 +1946,7 @@ static void bt_health_connect_channel(const void *buf, uint16_t len)
}
}
- 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;
@@ -2069,8 +2066,6 @@ static void mcl_reconnected(struct mcap_mcl *mcl, gpointer data)
error("device data does not exists");
return;
}
-
- dev->mcl_conn = true;
}
static void mcl_disconnected(struct mcap_mcl *mcl, gpointer data)
@@ -2080,18 +2075,13 @@ static void mcl_disconnected(struct mcap_mcl *mcl, gpointer data)
DBG("");
dev = search_dev_by_mcl(mcl);
- if (dev)
- dev->mcl_conn = false;
+ mcap_mcl_unref(dev->mcl);
+ dev->mcl = NULL;
}
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)
--
1.9.1
next prev parent reply other threads:[~2014-08-18 9:07 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-18 9:06 [PATCH 1/4] android/health: Fix connect channel failure case Ravi kumar Veeramally
2014-08-18 9:07 ` Ravi kumar Veeramally [this message]
2014-08-19 16:43 ` [PATCH 2/4] android/health: Remove mcl instance on mcl_disconnected call back Szymon Janc
2014-08-18 9:07 ` [PATCH 3/4] android/health: Add some information messages Ravi kumar Veeramally
2014-08-18 9:07 ` [PATCH 4/4] android/health: Simplify search_cb failure case Ravi kumar Veeramally
2014-08-19 16:42 ` [PATCH 1/4] android/health: Fix connect channel " Szymon Janc
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1408352822-21572-2-git-send-email-ravikumar.veeramally@linux.intel.com \
--to=ravikumar.veeramally@linux.intel.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.