Linux bluetooth development
 help / color / mirror / Atom feed
From: Szymon Janc <szymon.janc@tieto.com>
To: <linux-bluetooth@vger.kernel.org>
Cc: Szymon Janc <szymon.janc@gmail.com>
Subject: [PATCH 2/5] android: Fix bt_adapter_init
Date: Thu, 24 Oct 2013 10:36:50 +0200	[thread overview]
Message-ID: <1382603813-9157-2-git-send-email-szymon.janc@tieto.com> (raw)
In-Reply-To: <1382603813-9157-1-git-send-email-szymon.janc@tieto.com>

From: Szymon Janc <szymon.janc@gmail.com>

Make bt_adapter_init return void and use ready callback for error
reporting. This also fix returning incorrect status and invalid
mgmt_if unref (mgmt_send return 0 on error or >0 on success).
---
 android/adapter.c | 11 +++++------
 android/adapter.h |  2 +-
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/android/adapter.c b/android/adapter.c
index 88ac19f..d85fa1f 100644
--- a/android/adapter.c
+++ b/android/adapter.c
@@ -277,7 +277,7 @@ failed:
 	adapter->ready(NULL, err);
 }
 
-bool bt_adapter_init(uint16_t index, struct mgmt *mgmt_if,
+void bt_adapter_init(uint16_t index, struct mgmt *mgmt_if,
 						bt_adapter_ready ready)
 {
 	struct bt_adapter *adapter;
@@ -289,12 +289,11 @@ bool bt_adapter_init(uint16_t index, struct mgmt *mgmt_if,
 	adapter->ready = ready;
 
 	if (mgmt_send(mgmt_if, MGMT_OP_READ_INFO, index, 0, NULL,
-				read_info_complete, adapter, NULL) > 0) {
-		mgmt_unref(mgmt_if);
-		return false;
-	}
+				read_info_complete, adapter, NULL) > 0)
+		return;
 
-	return adapter;
+	ready(-EIO);
+	mgmt_unref(mgmt_if);
 }
 
 static void set_mode_complete(uint8_t status, uint16_t length,
diff --git a/android/adapter.h b/android/adapter.h
index b8d0a58..9ae2d33 100644
--- a/android/adapter.h
+++ b/android/adapter.h
@@ -32,7 +32,7 @@ struct bt_adapter;
 
 typedef void (*bt_adapter_ready)(struct bt_adapter *adapter, int err);
 
-bool bt_adapter_init(uint16_t index, struct mgmt *mgmt_if,
+void bt_adapter_init(uint16_t index, struct mgmt *mgmt_if,
 						bt_adapter_ready func);
 
 void bt_adapter_handle_cmd(GIOChannel *io, uint8_t opcode, void *buf,
-- 
1.8.4


  reply	other threads:[~2013-10-24  8:36 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-24  8:36 [PATCH 1/5] android: Start command watch after notify channel is connected Szymon Janc
2013-10-24  8:36 ` Szymon Janc [this message]
2013-10-24  8:36 ` [PATCH 3/5] android: Remove not needed adapter parameter from bt_adapter_ready Szymon Janc
2013-10-24  8:36 ` [PATCH 4/5] android: Use default adapter in adapter functions Szymon Janc
2013-10-24  8:36 ` [PATCH 5/5] android: Use adapter index in mgmt functions 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=1382603813-9157-2-git-send-email-szymon.janc@tieto.com \
    --to=szymon.janc@tieto.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=szymon.janc@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox