linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 01/17] HDP: Fix checking always constant error code
@ 2014-06-16  7:57 Andrei Emeltchenko
  2014-06-16  7:57 ` [PATCH 02/17] " Andrei Emeltchenko
                   ` (18 more replies)
  0 siblings, 19 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

sdp_set_access_protos() always returns 0, there is no sense to check for
error code. Fixes compile warnings.
---
 profiles/health/hdp_util.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/profiles/health/hdp_util.c b/profiles/health/hdp_util.c
index 58770b5..ff427a6 100644
--- a/profiles/health/hdp_util.c
+++ b/profiles/health/hdp_util.c
@@ -362,7 +362,7 @@ static gboolean set_sdp_services_uuid(sdp_record_t *record, HdpRole role)
 static gboolean register_service_protocols(struct hdp_adapter *adapter,
 						sdp_record_t *sdp_record)
 {
-	gboolean ret;
+	gboolean ret = TRUE;
 	uuid_t l2cap_uuid, mcap_c_uuid;
 	sdp_list_t *l2cap_list, *proto_list = NULL, *mcap_list = NULL;
 	sdp_list_t *access_proto_list = NULL;
@@ -425,11 +425,7 @@ static gboolean register_service_protocols(struct hdp_adapter *adapter,
 		goto end;
 	}
 
-	if (sdp_set_access_protos(sdp_record, access_proto_list) < 0) {
-		ret = FALSE;
-		goto end;
-	}
-	ret = TRUE;
+	sdp_set_access_protos(sdp_record, access_proto_list);
 
 end:
 	if (l2cap_list != NULL)
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH 02/17] HDP: Fix checking always constant error code
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
@ 2014-06-16  7:57 ` Andrei Emeltchenko
  2014-06-16  7:57 ` [PATCH 03/17] android/HDP: Change scope of mdep Andrei Emeltchenko
                   ` (17 subsequent siblings)
  18 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Function sdp_set_add_access_protos() always returns 0, so there is no
sense to check for error code.
---
 profiles/health/hdp_util.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/profiles/health/hdp_util.c b/profiles/health/hdp_util.c
index ff427a6..7185805 100644
--- a/profiles/health/hdp_util.c
+++ b/profiles/health/hdp_util.c
@@ -472,7 +472,7 @@ static gboolean register_service_additional_protocols(
 						struct hdp_adapter *adapter,
 						sdp_record_t *sdp_record)
 {
-	gboolean ret;
+	gboolean ret = TRUE;
 	uuid_t l2cap_uuid, mcap_d_uuid;
 	sdp_list_t *l2cap_list, *proto_list = NULL, *mcap_list = NULL;
 	sdp_list_t *access_proto_list = NULL;
@@ -523,10 +523,7 @@ static gboolean register_service_additional_protocols(
 		goto end;
 	}
 
-	if (sdp_set_add_access_protos(sdp_record, access_proto_list) < 0)
-		ret = FALSE;
-	else
-		ret = TRUE;
+	sdp_set_add_access_protos(sdp_record, access_proto_list);
 
 end:
 	if (l2cap_list != NULL)
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH 03/17] android/HDP: Change scope of mdep
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
  2014-06-16  7:57 ` [PATCH 02/17] " Andrei Emeltchenko
@ 2014-06-16  7:57 ` Andrei Emeltchenko
  2014-06-17 22:15   ` Szymon Janc
  2014-06-16  7:57 ` [PATCH 04/17] android/gatt: Change DBG() to error() Andrei Emeltchenko
                   ` (16 subsequent siblings)
  18 siblings, 1 reply; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Make code cleaner lowering scope for mdep to the place it is actually
used.
---
 android/hal-health.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/android/hal-health.c b/android/hal-health.c
index 012b6b7..b8df5a7 100644
--- a/android/hal-health.c
+++ b/android/hal-health.c
@@ -68,7 +68,6 @@ static bt_status_t register_application(bthl_reg_param_t *reg, int *app_id)
 {
 	uint8_t buf[IPC_MTU];
 	struct hal_cmd_health_reg_app *cmd = (void *) buf;
-	struct hal_cmd_health_mdep *mdep = (void *) buf;
 	struct hal_rsp_health_reg_app rsp;
 	size_t rsp_len = sizeof(rsp);
 	bt_status_t status;
@@ -123,6 +122,8 @@ static bt_status_t register_application(bthl_reg_param_t *reg, int *app_id)
 		return status;
 
 	for (i = 0; i < reg->number_of_mdeps; i++) {
+		struct hal_cmd_health_mdep *mdep = (void *) buf;
+
 		memset(buf, 0, IPC_MTU);
 		mdep->app_id = rsp.app_id;
 		mdep->role = reg->mdep_cfg[i].mdep_role;
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH 04/17] android/gatt: Change DBG() to error()
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
  2014-06-16  7:57 ` [PATCH 02/17] " Andrei Emeltchenko
  2014-06-16  7:57 ` [PATCH 03/17] android/HDP: Change scope of mdep Andrei Emeltchenko
@ 2014-06-16  7:57 ` Andrei Emeltchenko
  2014-06-17 21:22   ` Szymon Janc
  2014-06-16  7:57 ` [PATCH 05/17] android/gatt: Fix wrong initial value Andrei Emeltchenko
                   ` (15 subsequent siblings)
  18 siblings, 1 reply; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

---
 android/gatt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/android/gatt.c b/android/gatt.c
index a19fe5c..eb977d5 100644
--- a/android/gatt.c
+++ b/android/gatt.c
@@ -4275,7 +4275,7 @@ static void fill_gatt_response_by_handle(uint16_t handle, uint16_t offset,
 	entry = queue_find(dev->pending_requests, match_dev_request_by_handle,
 							UINT_TO_PTR(handle));
 	if (!entry) {
-		DBG("No pending response found! Bogus android response?");
+		error("No pending response found! Bogus android response?");
 		return;
 	}
 
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH 05/17] android/gatt: Fix wrong initial value
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (2 preceding siblings ...)
  2014-06-16  7:57 ` [PATCH 04/17] android/gatt: Change DBG() to error() Andrei Emeltchenko
@ 2014-06-16  7:57 ` Andrei Emeltchenko
  2014-06-17 21:21   ` Szymon Janc
  2014-06-16  7:57 ` [PATCH 06/17] HDP: trivial: Make code more readable Andrei Emeltchenko
                   ` (14 subsequent siblings)
  18 siblings, 1 reply; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Initialize value_len to -1 since otherwise check value_len >= 0 does not
make sense.
---
 android/gatt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/android/gatt.c b/android/gatt.c
index eb977d5..c5cb58f 100644
--- a/android/gatt.c
+++ b/android/gatt.c
@@ -4288,7 +4288,7 @@ static void read_requested_attributes(void *data, void *user_data)
 	struct request_processing_data *process_data = user_data;
 	uint32_t permissions;
 	uint8_t *value, error;
-	int value_len = 0;
+	int value_len = -1;
 
 	if (!gatt_db_get_attribute_permissions(gatt_db, resp_data->handle,
 								&permissions)) {
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH 06/17] HDP: trivial: Make code more readable
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (3 preceding siblings ...)
  2014-06-16  7:57 ` [PATCH 05/17] android/gatt: Fix wrong initial value Andrei Emeltchenko
@ 2014-06-16  7:57 ` Andrei Emeltchenko
  2014-06-16  7:57 ` [PATCH 07/17] android/gatt: Fix meory leak Andrei Emeltchenko
                   ` (13 subsequent siblings)
  18 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

---
 profiles/health/hdp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/profiles/health/hdp.c b/profiles/health/hdp.c
index fff3f18..e1549cf 100644
--- a/profiles/health/hdp.c
+++ b/profiles/health/hdp.c
@@ -1507,8 +1507,8 @@ static gboolean check_echo(GIOChannel *io_chan, GIOCondition cond,
 	}
 
 	fd = g_io_channel_unix_get_fd(io_chan);
-	len = read(fd, buf, sizeof(buf));
 
+	len = read(fd, buf, sizeof(buf));
 	if (len != HDP_ECHO_LEN) {
 		value = FALSE;
 		goto end;
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH 07/17] android/gatt: Fix meory leak
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (4 preceding siblings ...)
  2014-06-16  7:57 ` [PATCH 06/17] HDP: trivial: Make code more readable Andrei Emeltchenko
@ 2014-06-16  7:57 ` Andrei Emeltchenko
  2014-06-16  7:57 ` [PATCH 08/17] HDP: Add length check Andrei Emeltchenko
                   ` (12 subsequent siblings)
  18 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Fixes clang warnings:
...
android/gatt.c:2823:1: warning: Potential leak of memory pointed to by
'cb_data'
...
---
 android/gatt.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/android/gatt.c b/android/gatt.c
index c5cb58f..76336a6 100644
--- a/android/gatt.c
+++ b/android/gatt.c
@@ -2888,7 +2888,8 @@ static void handle_client_write_characteristic(const void *buf, uint16_t len)
 		goto failed;
 	}
 
-	if (cmd->write_type != GATT_WRITE_TYPE_NO_RESPONSE) {
+	if (cmd->write_type != GATT_WRITE_TYPE_NO_RESPONSE &&
+				cmd->write_type != GATT_WRITE_TYPE_SIGNED) {
 		cb_data = create_char_op_data(cmd->conn_id, &srvc->id, &ch->id,
 						cmd->srvc_id.is_primary);
 		if (!cb_data) {
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH 08/17] HDP: Add length check
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (5 preceding siblings ...)
  2014-06-16  7:57 ` [PATCH 07/17] android/gatt: Fix meory leak Andrei Emeltchenko
@ 2014-06-16  7:57 ` Andrei Emeltchenko
  2014-06-16  7:57 ` [PATCH 09/17] mcap: Fix possible overflow Andrei Emeltchenko
                   ` (11 subsequent siblings)
  18 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Fixes static analyzer warnings related to casting possible error code to
unsigned.
---
 profiles/health/hdp.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/profiles/health/hdp.c b/profiles/health/hdp.c
index e1549cf..65800fa 100644
--- a/profiles/health/hdp.c
+++ b/profiles/health/hdp.c
@@ -863,7 +863,10 @@ static gboolean serve_echo(GIOChannel *io_chan, GIOCondition cond,
 	chan->edata->echo_done = TRUE;
 
 	fd = g_io_channel_unix_get_fd(io_chan);
+
 	len = read(fd, buf, sizeof(buf));
+	if (len < 0)
+		goto fail;
 
 	if (send_echo_data(fd, buf, len)  >= 0)
 		return TRUE;
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH 09/17] mcap: Fix possible overflow
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (6 preceding siblings ...)
  2014-06-16  7:57 ` [PATCH 08/17] HDP: Add length check Andrei Emeltchenko
@ 2014-06-16  7:57 ` Andrei Emeltchenko
  2014-06-17 21:11   ` Szymon Janc
  2014-06-16  7:57 ` [PATCH 10/17] android/hal-sco: Fix error code printing Andrei Emeltchenko
                   ` (10 subsequent siblings)
  18 siblings, 1 reply; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

---
 profiles/health/mcap_sync.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/profiles/health/mcap_sync.c b/profiles/health/mcap_sync.c
index cc89d47..a0cc02a 100644
--- a/profiles/health/mcap_sync.c
+++ b/profiles/health/mcap_sync.c
@@ -187,7 +187,7 @@ void mcap_sync_stop(struct mcap_mcl *mcl)
 
 static uint64_t time_us(struct timespec *tv)
 {
-	return tv->tv_sec * 1000000 + tv->tv_nsec / 1000;
+	return tv->tv_sec * 1000000ll + tv->tv_nsec / 1000ll;
 }
 
 static int64_t bt2us(int bt)
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH 10/17] android/hal-sco: Fix error code printing
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (7 preceding siblings ...)
  2014-06-16  7:57 ` [PATCH 09/17] mcap: Fix possible overflow Andrei Emeltchenko
@ 2014-06-16  7:57 ` Andrei Emeltchenko
  2014-06-17 21:49   ` Szymon Janc
  2014-06-16  7:57 ` [PATCH 11/17] android/ipc-tester: Fix closing invalid fd Andrei Emeltchenko
                   ` (9 subsequent siblings)
  18 siblings, 1 reply; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

---
 android/hal-sco.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/android/hal-sco.c b/android/hal-sco.c
index ef04dc5..faed406 100644
--- a/android/hal-sco.c
+++ b/android/hal-sco.c
@@ -712,7 +712,7 @@ static int sco_open_output_stream(struct audio_hw_device *dev,
 						RESAMPLER_QUALITY_DEFAULT, NULL,
 						&out->resampler);
 	if (ret) {
-		error("Failed to create resampler (%s)", strerror(ret));
+		error("Failed to create resampler (%s)", strerror(-ret));
 		goto failed;
 	}
 
@@ -1143,7 +1143,7 @@ static int sco_open_input_stream(struct audio_hw_device *dev,
 						RESAMPLER_QUALITY_DEFAULT, NULL,
 						&in->resampler);
 	if (ret) {
-		error("Failed to create resampler (%s)", strerror(ret));
+		error("Failed to create resampler (%s)", strerror(-ret));
 		goto failed;
 	}
 
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH 11/17] android/ipc-tester: Fix closing invalid fd
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (8 preceding siblings ...)
  2014-06-16  7:57 ` [PATCH 10/17] android/hal-sco: Fix error code printing Andrei Emeltchenko
@ 2014-06-16  7:57 ` Andrei Emeltchenko
  2014-06-16  7:57 ` [PATCH 12/17] android/avrcp: Fix adding missing breaks Andrei Emeltchenko
                   ` (8 subsequent siblings)
  18 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Is socket() fails we jumps to failed label.
---
 android/ipc-tester.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/android/ipc-tester.c b/android/ipc-tester.c
index 63fd105..f1f93f2 100644
--- a/android/ipc-tester.c
+++ b/android/ipc-tester.c
@@ -279,7 +279,8 @@ static void emulator(int pipe, int hci_index)
 
 failed:
 	close(pipe);
-	close(fd);
+	if (fd >= 0)
+		close(fd);
 }
 
 static int accept_connection(int sk)
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH 12/17] android/avrcp: Fix adding missing breaks
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (9 preceding siblings ...)
  2014-06-16  7:57 ` [PATCH 11/17] android/ipc-tester: Fix closing invalid fd Andrei Emeltchenko
@ 2014-06-16  7:57 ` Andrei Emeltchenko
  2014-06-16  7:57 ` [PATCH 13/17] android/hal-audio: Remove dead code Andrei Emeltchenko
                   ` (7 subsequent siblings)
  18 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

---
 android/avrcp-lib.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/android/avrcp-lib.c b/android/avrcp-lib.c
index 1de313b..32f6ff6 100644
--- a/android/avrcp-lib.c
+++ b/android/avrcp-lib.c
@@ -571,18 +571,22 @@ static bool check_value(uint8_t attr, uint8_t number, const uint8_t *values)
 			if (values[i] < AVRCP_EQUALIZER_OFF ||
 						values[i] > AVRCP_EQUALIZER_ON)
 				return false;
+			break;
 		case AVRCP_ATTRIBUTE_REPEAT_MODE:
 			if (values[i] < AVRCP_REPEAT_MODE_OFF ||
 					values[i] > AVRCP_REPEAT_MODE_GROUP)
 				return false;
+			break;
 		case AVRCP_ATTRIBUTE_SHUFFLE:
 			if (values[i] < AVRCP_SHUFFLE_OFF ||
 					values[i] > AVRCP_SHUFFLE_GROUP)
 				return false;
+			break;
 		case AVRCP_ATTRIBUTE_SCAN:
 			if (values[i] < AVRCP_SCAN_OFF ||
 					values[i] > AVRCP_SCAN_GROUP)
 				return false;
+			break;
 		}
 	}
 
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH 13/17] android/hal-audio: Remove dead code
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (10 preceding siblings ...)
  2014-06-16  7:57 ` [PATCH 12/17] android/avrcp: Fix adding missing breaks Andrei Emeltchenko
@ 2014-06-16  7:57 ` Andrei Emeltchenko
  2014-06-17 20:27   ` Szymon Janc
  2014-06-16  7:57 ` [PATCH 14/17] android/gatt: Fix error check Andrei Emeltchenko
                   ` (6 subsequent siblings)
  18 siblings, 1 reply; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

The code does not have effect.
---
 android/hal-audio.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/android/hal-audio.c b/android/hal-audio.c
index 6d2ef3a..36f1f3f 100644
--- a/android/hal-audio.c
+++ b/android/hal-audio.c
@@ -286,9 +286,6 @@ static int audio_ipc_cmd(uint8_t service_id, uint8_t opcode, uint16_t len,
 			goto failed;
 	}
 
-	if (rsp_len)
-		*rsp_len = cmd.len;
-
 	return AUDIO_STATUS_SUCCESS;
 
 failed:
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH 14/17] android/gatt: Fix error check
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (11 preceding siblings ...)
  2014-06-16  7:57 ` [PATCH 13/17] android/hal-audio: Remove dead code Andrei Emeltchenko
@ 2014-06-16  7:57 ` Andrei Emeltchenko
  2014-06-16  7:57 ` [PATCH 15/17] HDP: Fix possible memory leak Andrei Emeltchenko
                   ` (5 subsequent siblings)
  18 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

---
 android/gatt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/android/gatt.c b/android/gatt.c
index 76336a6..6ecef55 100644
--- a/android/gatt.c
+++ b/android/gatt.c
@@ -5269,7 +5269,7 @@ static uint8_t find_by_type_request(const uint8_t *cmd, uint16_t cmd_len,
 		}
 
 		data->filter_value = malloc0(search_vlen);
-		if (!data) {
+		if (!data->filter_value) {
 			destroy_pending_request(data);
 			queue_destroy(q, NULL);
 			return ATT_ECODE_INSUFF_RESOURCES;
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH 15/17] HDP: Fix possible memory leak
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (12 preceding siblings ...)
  2014-06-16  7:57 ` [PATCH 14/17] android/gatt: Fix error check Andrei Emeltchenko
@ 2014-06-16  7:57 ` Andrei Emeltchenko
  2014-06-17 20:51   ` Szymon Janc
  2014-06-16  7:57 ` [PATCH 16/17] android/hal-sco: Remove unneeded statement Andrei Emeltchenko
                   ` (4 subsequent siblings)
  18 siblings, 1 reply; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

---
 profiles/health/hdp_util.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/profiles/health/hdp_util.c b/profiles/health/hdp_util.c
index 7185805..876a105 100644
--- a/profiles/health/hdp_util.c
+++ b/profiles/health/hdp_util.c
@@ -597,6 +597,13 @@ fail:
 	return NULL;
 }
 
+static void free_hdp_list(void *list)
+{
+	sdp_list_t *hdp_list = list;
+
+	sdp_list_free(hdp_list, (sdp_free_func_t)sdp_data_free);
+}
+
 static gboolean register_features(struct hdp_application *app,
 						sdp_list_t **sup_features)
 {
@@ -619,16 +626,11 @@ static gboolean register_features(struct hdp_application *app,
 fail:
 	if (hdp_feature != NULL)
 		sdp_list_free(hdp_feature, (sdp_free_func_t)sdp_data_free);
+	if (sup_features != NULL)
+		sdp_list_free(*sup_features, free_hdp_list);
 	return FALSE;
 }
 
-static void free_hdp_list(void *list)
-{
-	sdp_list_t *hdp_list = list;
-
-	sdp_list_free(hdp_list, (sdp_free_func_t)sdp_data_free);
-}
-
 static gboolean register_service_sup_features(GSList *app_list,
 						sdp_record_t *sdp_record)
 {
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH 16/17] android/hal-sco: Remove unneeded statement
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (13 preceding siblings ...)
  2014-06-16  7:57 ` [PATCH 15/17] HDP: Fix possible memory leak Andrei Emeltchenko
@ 2014-06-16  7:57 ` Andrei Emeltchenko
  2014-06-17 20:31   ` Szymon Janc
  2014-06-16  7:57 ` [PATCH 17/17] android/hal-health: trivial: Remove empty line Andrei Emeltchenko
                   ` (3 subsequent siblings)
  18 siblings, 1 reply; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

---
 android/hal-sco.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/android/hal-sco.c b/android/hal-sco.c
index faed406..edff13e 100644
--- a/android/hal-sco.c
+++ b/android/hal-sco.c
@@ -265,9 +265,6 @@ static int sco_ipc_cmd(uint8_t service_id, uint8_t opcode, uint16_t len,
 			goto failed;
 	}
 
-	if (rsp_len)
-		*rsp_len = cmd.len;
-
 	return SCO_STATUS_SUCCESS;
 
 failed:
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCH 17/17] android/hal-health: trivial: Remove empty line
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (14 preceding siblings ...)
  2014-06-16  7:57 ` [PATCH 16/17] android/hal-sco: Remove unneeded statement Andrei Emeltchenko
@ 2014-06-16  7:57 ` Andrei Emeltchenko
  2014-06-17  7:20 ` [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (2 subsequent siblings)
  18 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-16  7:57 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

---
 android/hal-health.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/android/hal-health.c b/android/hal-health.c
index b8df5a7..af31634 100644
--- a/android/hal-health.c
+++ b/android/hal-health.c
@@ -143,7 +143,6 @@ static bt_status_t register_application(bthl_reg_param_t *reg, int *app_id)
 
 		if (status != BT_STATUS_SUCCESS)
 			return status;
-
 	}
 
 	*app_id = rsp.app_id;
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* Re: [PATCH 01/17] HDP: Fix checking always constant error code
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (15 preceding siblings ...)
  2014-06-16  7:57 ` [PATCH 17/17] android/hal-health: trivial: Remove empty line Andrei Emeltchenko
@ 2014-06-17  7:20 ` Andrei Emeltchenko
  2014-06-17 21:27 ` Szymon Janc
  2014-06-18 13:33 ` [PATCHv2 01/11] android/gatt: Change DBG() to error() Andrei Emeltchenko
  18 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-17  7:20 UTC (permalink / raw)
  To: linux-bluetooth

On Mon, Jun 16, 2014 at 10:57:36AM +0300, Andrei Emeltchenko wrote:
> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

ping


> 
> sdp_set_access_protos() always returns 0, there is no sense to check for
> error code. Fixes compile warnings.
> ---
>  profiles/health/hdp_util.c | 8 ++------
>  1 file changed, 2 insertions(+), 6 deletions(-)
> 
> diff --git a/profiles/health/hdp_util.c b/profiles/health/hdp_util.c
> index 58770b5..ff427a6 100644
> --- a/profiles/health/hdp_util.c
> +++ b/profiles/health/hdp_util.c
> @@ -362,7 +362,7 @@ static gboolean set_sdp_services_uuid(sdp_record_t *record, HdpRole role)
>  static gboolean register_service_protocols(struct hdp_adapter *adapter,
>  						sdp_record_t *sdp_record)
>  {
> -	gboolean ret;
> +	gboolean ret = TRUE;
>  	uuid_t l2cap_uuid, mcap_c_uuid;
>  	sdp_list_t *l2cap_list, *proto_list = NULL, *mcap_list = NULL;
>  	sdp_list_t *access_proto_list = NULL;
> @@ -425,11 +425,7 @@ static gboolean register_service_protocols(struct hdp_adapter *adapter,
>  		goto end;
>  	}
>  
> -	if (sdp_set_access_protos(sdp_record, access_proto_list) < 0) {
> -		ret = FALSE;
> -		goto end;
> -	}
> -	ret = TRUE;
> +	sdp_set_access_protos(sdp_record, access_proto_list);
>  
>  end:
>  	if (l2cap_list != NULL)
> -- 
> 1.8.3.2
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH 13/17] android/hal-audio: Remove dead code
  2014-06-16  7:57 ` [PATCH 13/17] android/hal-audio: Remove dead code Andrei Emeltchenko
@ 2014-06-17 20:27   ` Szymon Janc
  0 siblings, 0 replies; 42+ messages in thread
From: Szymon Janc @ 2014-06-17 20:27 UTC (permalink / raw)
  To: Andrei Emeltchenko; +Cc: linux-bluetooth

Hi Andrei,

On Monday 16 June 2014 10:57:48 Andrei Emeltchenko wrote:
> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> 
> The code does not have effect.
> ---
>  android/hal-audio.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/android/hal-audio.c b/android/hal-audio.c
> index 6d2ef3a..36f1f3f 100644
> --- a/android/hal-audio.c
> +++ b/android/hal-audio.c
> @@ -286,9 +286,6 @@ static int audio_ipc_cmd(uint8_t service_id, uint8_t
> opcode, uint16_t len, goto failed;
>  	}
> 
> -	if (rsp_len)
> -		*rsp_len = cmd.len;
> -
>  	return AUDIO_STATUS_SUCCESS;
> 
>  failed:

This is not correct. rsp_len is also output parameter for this function. If 
caller expects response it should verify it before accessing response.

(although since rsp_len was already dereferenced before null check is not 
really needed here)

-- 
Szymon K. Janc
szymon.janc@gmail.com

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH 16/17] android/hal-sco: Remove unneeded statement
  2014-06-16  7:57 ` [PATCH 16/17] android/hal-sco: Remove unneeded statement Andrei Emeltchenko
@ 2014-06-17 20:31   ` Szymon Janc
  0 siblings, 0 replies; 42+ messages in thread
From: Szymon Janc @ 2014-06-17 20:31 UTC (permalink / raw)
  To: Andrei Emeltchenko; +Cc: linux-bluetooth

Hi Andrei,

On Monday 16 June 2014 10:57:51 Andrei Emeltchenko wrote:
> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> 
> ---
>  android/hal-sco.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/android/hal-sco.c b/android/hal-sco.c
> index faed406..edff13e 100644
> --- a/android/hal-sco.c
> +++ b/android/hal-sco.c
> @@ -265,9 +265,6 @@ static int sco_ipc_cmd(uint8_t service_id, uint8_t
> opcode, uint16_t len, goto failed;
>  	}
> 
> -	if (rsp_len)
> -		*rsp_len = cmd.len;
> -
>  	return SCO_STATUS_SUCCESS;
> 
>  failed:

This is same as comment on similar patch for hal-audio.

-- 
Szymon K. Janc
szymon.janc@gmail.com

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH 15/17] HDP: Fix possible memory leak
  2014-06-16  7:57 ` [PATCH 15/17] HDP: Fix possible memory leak Andrei Emeltchenko
@ 2014-06-17 20:51   ` Szymon Janc
  2014-06-18  8:52     ` Andrei Emeltchenko
  0 siblings, 1 reply; 42+ messages in thread
From: Szymon Janc @ 2014-06-17 20:51 UTC (permalink / raw)
  To: Andrei Emeltchenko; +Cc: linux-bluetooth

Hi Andrei,

On Monday 16 June 2014 10:57:50 Andrei Emeltchenko wrote:
> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> 
> ---
>  profiles/health/hdp_util.c | 16 +++++++++-------
>  1 file changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/profiles/health/hdp_util.c b/profiles/health/hdp_util.c
> index 7185805..876a105 100644
> --- a/profiles/health/hdp_util.c
> +++ b/profiles/health/hdp_util.c
> @@ -597,6 +597,13 @@ fail:
>  	return NULL;
>  }
> 
> +static void free_hdp_list(void *list)
> +{
> +	sdp_list_t *hdp_list = list;
> +
> +	sdp_list_free(hdp_list, (sdp_free_func_t)sdp_data_free);
> +}
> +
>  static gboolean register_features(struct hdp_application *app,
>  						sdp_list_t **sup_features)
>  {
> @@ -619,16 +626,11 @@ static gboolean register_features(struct
> hdp_application *app, fail:
>  	if (hdp_feature != NULL)
>  		sdp_list_free(hdp_feature, (sdp_free_func_t)sdp_data_free);
> +	if (sup_features != NULL)
> +		sdp_list_free(*sup_features, free_hdp_list);

I have a feeling that this should be fixed in caller code ie 
register_service_sup_features.

Also sup_features was already dereferences few lines above so this check is 
not needed (or should it be *sup_features != NULL ?). 

>  	return FALSE;
>  }
> 
> -static void free_hdp_list(void *list)
> -{
> -	sdp_list_t *hdp_list = list;
> -
> -	sdp_list_free(hdp_list, (sdp_free_func_t)sdp_data_free);
> -}
> -
>  static gboolean register_service_sup_features(GSList *app_list,
>  						sdp_record_t *sdp_record)
>  {

-- 
Szymon K. Janc
szymon.janc@gmail.com

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH 09/17] mcap: Fix possible overflow
  2014-06-16  7:57 ` [PATCH 09/17] mcap: Fix possible overflow Andrei Emeltchenko
@ 2014-06-17 21:11   ` Szymon Janc
  2014-06-18  8:47     ` Andrei Emeltchenko
  0 siblings, 1 reply; 42+ messages in thread
From: Szymon Janc @ 2014-06-17 21:11 UTC (permalink / raw)
  To: Andrei Emeltchenko; +Cc: linux-bluetooth

Hi Andrei,

On Monday 16 June 2014 10:57:44 Andrei Emeltchenko wrote:
> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> 
> ---
>  profiles/health/mcap_sync.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/profiles/health/mcap_sync.c b/profiles/health/mcap_sync.c
> index cc89d47..a0cc02a 100644
> --- a/profiles/health/mcap_sync.c
> +++ b/profiles/health/mcap_sync.c
> @@ -187,7 +187,7 @@ void mcap_sync_stop(struct mcap_mcl *mcl)
> 
>  static uint64_t time_us(struct timespec *tv)
>  {
> -	return tv->tv_sec * 1000000 + tv->tv_nsec / 1000;
> +	return tv->tv_sec * 1000000ll + tv->tv_nsec / 1000ll;
>  }
> 
>  static int64_t bt2us(int bt)

Commit message explaining why there is possible overflow would be nice.


-- 
Szymon K. Janc
szymon.janc@gmail.com

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH 05/17] android/gatt: Fix wrong initial value
  2014-06-16  7:57 ` [PATCH 05/17] android/gatt: Fix wrong initial value Andrei Emeltchenko
@ 2014-06-17 21:21   ` Szymon Janc
  2014-06-18  8:46     ` Andrei Emeltchenko
  0 siblings, 1 reply; 42+ messages in thread
From: Szymon Janc @ 2014-06-17 21:21 UTC (permalink / raw)
  To: Andrei Emeltchenko; +Cc: linux-bluetooth

Hi Andrei,

On Monday 16 June 2014 10:57:40 Andrei Emeltchenko wrote:
> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> 
> Initialize value_len to -1 since otherwise check value_len >= 0 does not
> make sense.
> ---
>  android/gatt.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/android/gatt.c b/android/gatt.c
> index eb977d5..c5cb58f 100644
> --- a/android/gatt.c
> +++ b/android/gatt.c
> @@ -4288,7 +4288,7 @@ static void read_requested_attributes(void *data, void
> *user_data) struct request_processing_data *process_data = user_data;
>  	uint32_t permissions;
>  	uint8_t *value, error;
> -	int value_len = 0;
> +	int value_len = -1;
> 
>  	if (!gatt_db_get_attribute_permissions(gatt_db, resp_data->handle,
>  								&permissions)) {

This is not correct. value_len == -1 means that callback was called from 
gatt_db_read() and response will be filled later.

-- 
Szymon K. Janc
szymon.janc@gmail.com

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH 04/17] android/gatt: Change DBG() to error()
  2014-06-16  7:57 ` [PATCH 04/17] android/gatt: Change DBG() to error() Andrei Emeltchenko
@ 2014-06-17 21:22   ` Szymon Janc
  0 siblings, 0 replies; 42+ messages in thread
From: Szymon Janc @ 2014-06-17 21:22 UTC (permalink / raw)
  To: Andrei Emeltchenko; +Cc: linux-bluetooth

Hi Andrei,

On Monday 16 June 2014 10:57:39 Andrei Emeltchenko wrote:
> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> 
> ---
>  android/gatt.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/android/gatt.c b/android/gatt.c
> index a19fe5c..eb977d5 100644
> --- a/android/gatt.c
> +++ b/android/gatt.c
> @@ -4275,7 +4275,7 @@ static void fill_gatt_response_by_handle(uint16_t
> handle, uint16_t offset, entry = queue_find(dev->pending_requests,
> match_dev_request_by_handle, UINT_TO_PTR(handle));
>  	if (!entry) {
> -		DBG("No pending response found! Bogus android response?");
> +		error("No pending response found! Bogus android response?");

Please prefix error message with "gatt:"

>  		return;
>  	}

-- 
Szymon K. Janc
szymon.janc@gmail.com

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH 01/17] HDP: Fix checking always constant error code
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (16 preceding siblings ...)
  2014-06-17  7:20 ` [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
@ 2014-06-17 21:27 ` Szymon Janc
  2014-06-18  8:54   ` Andrei Emeltchenko
  2014-06-18 13:33 ` [PATCHv2 01/11] android/gatt: Change DBG() to error() Andrei Emeltchenko
  18 siblings, 1 reply; 42+ messages in thread
From: Szymon Janc @ 2014-06-17 21:27 UTC (permalink / raw)
  To: Andrei Emeltchenko; +Cc: linux-bluetooth

Hi Andrei,

On Monday 16 June 2014 10:57:36 Andrei Emeltchenko wrote:
> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> 
> sdp_set_access_protos() always returns 0, there is no sense to check for
> error code. Fixes compile warnings.
> ---
>  profiles/health/hdp_util.c | 8 ++------
>  1 file changed, 2 insertions(+), 6 deletions(-)
> 
> diff --git a/profiles/health/hdp_util.c b/profiles/health/hdp_util.c
> index 58770b5..ff427a6 100644
> --- a/profiles/health/hdp_util.c
> +++ b/profiles/health/hdp_util.c
> @@ -362,7 +362,7 @@ static gboolean set_sdp_services_uuid(sdp_record_t
> *record, HdpRole role) static gboolean register_service_protocols(struct
> hdp_adapter *adapter, sdp_record_t *sdp_record)
>  {
> -	gboolean ret;
> +	gboolean ret = TRUE;
>  	uuid_t l2cap_uuid, mcap_c_uuid;
>  	sdp_list_t *l2cap_list, *proto_list = NULL, *mcap_list = NULL;
>  	sdp_list_t *access_proto_list = NULL;
> @@ -425,11 +425,7 @@ static gboolean register_service_protocols(struct
> hdp_adapter *adapter, goto end;
>  	}
> 
> -	if (sdp_set_access_protos(sdp_record, access_proto_list) < 0) {
> -		ret = FALSE;
> -		goto end;
> -	}
> -	ret = TRUE;
> +	sdp_set_access_protos(sdp_record, access_proto_list);

I'd leave setting ret here instead of initializing it to TRUE. 

-- 
Szymon K. Janc
szymon.janc@gmail.com

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH 10/17] android/hal-sco: Fix error code printing
  2014-06-16  7:57 ` [PATCH 10/17] android/hal-sco: Fix error code printing Andrei Emeltchenko
@ 2014-06-17 21:49   ` Szymon Janc
  0 siblings, 0 replies; 42+ messages in thread
From: Szymon Janc @ 2014-06-17 21:49 UTC (permalink / raw)
  To: Andrei Emeltchenko; +Cc: linux-bluetooth

Hi Andrei,

On Monday 16 June 2014 10:57:45 Andrei Emeltchenko wrote:
> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> 
> ---
>  android/hal-sco.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/android/hal-sco.c b/android/hal-sco.c
> index ef04dc5..faed406 100644
> --- a/android/hal-sco.c
> +++ b/android/hal-sco.c
> @@ -712,7 +712,7 @@ static int sco_open_output_stream(struct audio_hw_device
> *dev, RESAMPLER_QUALITY_DEFAULT, NULL,
>  						&out->resampler);
>  	if (ret) {
> -		error("Failed to create resampler (%s)", strerror(ret));
> +		error("Failed to create resampler (%s)", strerror(-ret));
>  		goto failed;
>  	}
> 
> @@ -1143,7 +1143,7 @@ static int sco_open_input_stream(struct
> audio_hw_device *dev, RESAMPLER_QUALITY_DEFAULT, NULL,
>  						&in->resampler);
>  	if (ret) {
> -		error("Failed to create resampler (%s)", strerror(ret));
> +		error("Failed to create resampler (%s)", strerror(-ret));
>  		goto failed;
>  	}

That one doesn't apply. Please rebase, thanks.

-- 
Szymon K. Janc
szymon.janc@gmail.com

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH 03/17] android/HDP: Change scope of mdep
  2014-06-16  7:57 ` [PATCH 03/17] android/HDP: Change scope of mdep Andrei Emeltchenko
@ 2014-06-17 22:15   ` Szymon Janc
  0 siblings, 0 replies; 42+ messages in thread
From: Szymon Janc @ 2014-06-17 22:15 UTC (permalink / raw)
  To: Andrei Emeltchenko; +Cc: linux-bluetooth

Hi Andrei,

On Monday 16 June 2014 10:57:38 Andrei Emeltchenko wrote:
> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> 
> Make code cleaner lowering scope for mdep to the place it is actually
> used.
> ---
>  android/hal-health.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/android/hal-health.c b/android/hal-health.c
> index 012b6b7..b8df5a7 100644
> --- a/android/hal-health.c
> +++ b/android/hal-health.c
> @@ -68,7 +68,6 @@ static bt_status_t register_application(bthl_reg_param_t
> *reg, int *app_id) {
>  	uint8_t buf[IPC_MTU];
>  	struct hal_cmd_health_reg_app *cmd = (void *) buf;
> -	struct hal_cmd_health_mdep *mdep = (void *) buf;
>  	struct hal_rsp_health_reg_app rsp;
>  	size_t rsp_len = sizeof(rsp);
>  	bt_status_t status;
> @@ -123,6 +122,8 @@ static bt_status_t register_application(bthl_reg_param_t
> *reg, int *app_id) return status;
> 
>  	for (i = 0; i < reg->number_of_mdeps; i++) {
> +		struct hal_cmd_health_mdep *mdep = (void *) buf;
> +
>  		memset(buf, 0, IPC_MTU);
>  		mdep->app_id = rsp.app_id;
>  		mdep->role = reg->mdep_cfg[i].mdep_role;

Patches 3,6,7,8,11,12,14 and 17 are now applied, thanks.

-- 
Szymon K. Janc
szymon.janc@gmail.com

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH 05/17] android/gatt: Fix wrong initial value
  2014-06-17 21:21   ` Szymon Janc
@ 2014-06-18  8:46     ` Andrei Emeltchenko
  0 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-18  8:46 UTC (permalink / raw)
  To: Szymon Janc; +Cc: linux-bluetooth

Hi Szymon,

On Tue, Jun 17, 2014 at 11:21:16PM +0200, Szymon Janc wrote:
> Hi Andrei,
> 
> On Monday 16 June 2014 10:57:40 Andrei Emeltchenko wrote:
> > From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> > 
> > Initialize value_len to -1 since otherwise check value_len >= 0 does not
> > make sense.
> > ---
> >  android/gatt.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/android/gatt.c b/android/gatt.c
> > index eb977d5..c5cb58f 100644
> > --- a/android/gatt.c
> > +++ b/android/gatt.c
> > @@ -4288,7 +4288,7 @@ static void read_requested_attributes(void *data, void
> > *user_data) struct request_processing_data *process_data = user_data;
> >  	uint32_t permissions;
> >  	uint8_t *value, error;
> > -	int value_len = 0;
> > +	int value_len = -1;
> > 
> >  	if (!gatt_db_get_attribute_permissions(gatt_db, resp_data->handle,
> >  								&permissions)) {
> 
> This is not correct. value_len == -1 means that callback was called from 
> gatt_db_read() and response will be filled later.

Do you mean that in gatt_db_read() we should check for !*length not
!length like it is checked now? Otherwise it does not have effect.

Best regards 
Andrei Emeltchenko 

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH 09/17] mcap: Fix possible overflow
  2014-06-17 21:11   ` Szymon Janc
@ 2014-06-18  8:47     ` Andrei Emeltchenko
  0 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-18  8:47 UTC (permalink / raw)
  To: Szymon Janc; +Cc: linux-bluetooth

Hi Szymon,

On Tue, Jun 17, 2014 at 11:11:01PM +0200, Szymon Janc wrote:
> Hi Andrei,
> 
> On Monday 16 June 2014 10:57:44 Andrei Emeltchenko wrote:
> > From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> > 
> > ---
> >  profiles/health/mcap_sync.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/profiles/health/mcap_sync.c b/profiles/health/mcap_sync.c
> > index cc89d47..a0cc02a 100644
> > --- a/profiles/health/mcap_sync.c
> > +++ b/profiles/health/mcap_sync.c
> > @@ -187,7 +187,7 @@ void mcap_sync_stop(struct mcap_mcl *mcl)
> > 
> >  static uint64_t time_us(struct timespec *tv)
> >  {
> > -	return tv->tv_sec * 1000000 + tv->tv_nsec / 1000;
> > +	return tv->tv_sec * 1000000ll + tv->tv_nsec / 1000ll;
> >  }
> > 
> >  static int64_t bt2us(int bt)
> 
> Commit message explaining why there is possible overflow would be nice.
> 

We have this 'll' in newer code dealing with similar conversions, I suppose
we might use 32 bit arithmetic and then widen to 64 bit.

Best regards 
Andrei Emeltchenko 

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH 15/17] HDP: Fix possible memory leak
  2014-06-17 20:51   ` Szymon Janc
@ 2014-06-18  8:52     ` Andrei Emeltchenko
  0 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-18  8:52 UTC (permalink / raw)
  To: Szymon Janc; +Cc: linux-bluetooth

Hi Szymon,

On Tue, Jun 17, 2014 at 10:51:39PM +0200, Szymon Janc wrote:
> Hi Andrei,
> 
> On Monday 16 June 2014 10:57:50 Andrei Emeltchenko wrote:
> > From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> > 
> > ---
> >  profiles/health/hdp_util.c | 16 +++++++++-------
> >  1 file changed, 9 insertions(+), 7 deletions(-)
> > 
> > diff --git a/profiles/health/hdp_util.c b/profiles/health/hdp_util.c
> > index 7185805..876a105 100644
> > --- a/profiles/health/hdp_util.c
> > +++ b/profiles/health/hdp_util.c
> > @@ -597,6 +597,13 @@ fail:
> >  	return NULL;
> >  }
> > 
> > +static void free_hdp_list(void *list)
> > +{
> > +	sdp_list_t *hdp_list = list;
> > +
> > +	sdp_list_free(hdp_list, (sdp_free_func_t)sdp_data_free);
> > +}
> > +
> >  static gboolean register_features(struct hdp_application *app,
> >  						sdp_list_t **sup_features)
> >  {
> > @@ -619,16 +626,11 @@ static gboolean register_features(struct
> > hdp_application *app, fail:
> >  	if (hdp_feature != NULL)
> >  		sdp_list_free(hdp_feature, (sdp_free_func_t)sdp_data_free);
> > +	if (sup_features != NULL)
> > +		sdp_list_free(*sup_features, free_hdp_list);
> 
> I have a feeling that this should be fixed in caller code ie 
> register_service_sup_features.

The problem is that it gets allocated here and we return FALSE if
allocation fails for example, so it does make sense to free structure when
FALSE is returned.

> 
> Also sup_features was already dereferences few lines above so this check is 
> not needed (or should it be *sup_features != NULL ?). 

Right, will fix this.

Best regards 
Andrei Emeltchenko 

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [PATCH 01/17] HDP: Fix checking always constant error code
  2014-06-17 21:27 ` Szymon Janc
@ 2014-06-18  8:54   ` Andrei Emeltchenko
  0 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-18  8:54 UTC (permalink / raw)
  To: Szymon Janc; +Cc: linux-bluetooth

Hi Szymon,

On Tue, Jun 17, 2014 at 11:27:13PM +0200, Szymon Janc wrote:
> Hi Andrei,
> 
> On Monday 16 June 2014 10:57:36 Andrei Emeltchenko wrote:
> > From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> > 
> > sdp_set_access_protos() always returns 0, there is no sense to check for
> > error code. Fixes compile warnings.
> > ---
> >  profiles/health/hdp_util.c | 8 ++------
> >  1 file changed, 2 insertions(+), 6 deletions(-)
> > 
> > diff --git a/profiles/health/hdp_util.c b/profiles/health/hdp_util.c
> > index 58770b5..ff427a6 100644
> > --- a/profiles/health/hdp_util.c
> > +++ b/profiles/health/hdp_util.c
> > @@ -362,7 +362,7 @@ static gboolean set_sdp_services_uuid(sdp_record_t
> > *record, HdpRole role) static gboolean register_service_protocols(struct
> > hdp_adapter *adapter, sdp_record_t *sdp_record)
> >  {
> > -	gboolean ret;
> > +	gboolean ret = TRUE;
> >  	uuid_t l2cap_uuid, mcap_c_uuid;
> >  	sdp_list_t *l2cap_list, *proto_list = NULL, *mcap_list = NULL;
> >  	sdp_list_t *access_proto_list = NULL;
> > @@ -425,11 +425,7 @@ static gboolean register_service_protocols(struct
> > hdp_adapter *adapter, goto end;
> >  	}
> > 
> > -	if (sdp_set_access_protos(sdp_record, access_proto_list) < 0) {
> > -		ret = FALSE;
> > -		goto end;
> > -	}
> > -	ret = TRUE;
> > +	sdp_set_access_protos(sdp_record, access_proto_list);
> 
> I'd leave setting ret here instead of initializing it to TRUE. 
> 

OK

Best regards 
Andrei Emeltchenko 


^ permalink raw reply	[flat|nested] 42+ messages in thread

* [PATCHv2 01/11] android/gatt: Change DBG() to error()
  2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
                   ` (17 preceding siblings ...)
  2014-06-17 21:27 ` Szymon Janc
@ 2014-06-18 13:33 ` Andrei Emeltchenko
  2014-06-18 13:33   ` [PATCHv2 02/11] android/gatt: Fix wrong initial value Andrei Emeltchenko
                     ` (9 more replies)
  18 siblings, 10 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-18 13:33 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

---
 android/gatt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/android/gatt.c b/android/gatt.c
index b256077..cb27f34 100644
--- a/android/gatt.c
+++ b/android/gatt.c
@@ -4280,7 +4280,7 @@ static void fill_gatt_response_by_handle(uint16_t handle, uint16_t offset,
 	entry = queue_find(dev->pending_requests, match_dev_request_by_handle,
 							UINT_TO_PTR(handle));
 	if (!entry) {
-		DBG("No pending response found! Bogus android response?");
+		error("gatt: No pending response! Bogus android response?");
 		return;
 	}
 
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCHv2 02/11] android/gatt: Fix wrong initial value
  2014-06-18 13:33 ` [PATCHv2 01/11] android/gatt: Change DBG() to error() Andrei Emeltchenko
@ 2014-06-18 13:33   ` Andrei Emeltchenko
  2014-06-18 13:33   ` [PATCHv2 03/11] android/gatt: Fix memory leak Andrei Emeltchenko
                     ` (8 subsequent siblings)
  9 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-18 13:33 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Initialize value_len to -1 since otherwise check value_len >= 0 does not
make sense.
---
 android/gatt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/android/gatt.c b/android/gatt.c
index cb27f34..5a13afa 100644
--- a/android/gatt.c
+++ b/android/gatt.c
@@ -4293,7 +4293,7 @@ static void read_requested_attributes(void *data, void *user_data)
 	struct request_processing_data *process_data = user_data;
 	uint32_t permissions;
 	uint8_t *value, error;
-	int value_len = 0;
+	int value_len = -1;
 
 	if (!gatt_db_get_attribute_permissions(gatt_db, resp_data->handle,
 								&permissions)) {
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCHv2 03/11] android/gatt: Fix memory leak
  2014-06-18 13:33 ` [PATCHv2 01/11] android/gatt: Change DBG() to error() Andrei Emeltchenko
  2014-06-18 13:33   ` [PATCHv2 02/11] android/gatt: Fix wrong initial value Andrei Emeltchenko
@ 2014-06-18 13:33   ` Andrei Emeltchenko
  2014-06-18 13:33   ` [PATCHv2 04/11] android/hal-health: trivial: Correct coding style Andrei Emeltchenko
                     ` (7 subsequent siblings)
  9 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-18 13:33 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Fixes clang warnings:
...
android/gatt.c:2823:1: warning: Potential leak of memory pointed to by
'cb_data'
...
---
 android/gatt.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/android/gatt.c b/android/gatt.c
index 5a13afa..626a65d 100644
--- a/android/gatt.c
+++ b/android/gatt.c
@@ -2888,7 +2888,8 @@ static void handle_client_write_characteristic(const void *buf, uint16_t len)
 		goto failed;
 	}
 
-	if (cmd->write_type != GATT_WRITE_TYPE_NO_RESPONSE) {
+	if (cmd->write_type != GATT_WRITE_TYPE_NO_RESPONSE &&
+				cmd->write_type != GATT_WRITE_TYPE_SIGNED) {
 		cb_data = create_char_op_data(cmd->conn_id, &srvc->id, &ch->id,
 						cmd->srvc_id.is_primary);
 		if (!cb_data) {
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCHv2 04/11] android/hal-health: trivial: Correct coding style
  2014-06-18 13:33 ` [PATCHv2 01/11] android/gatt: Change DBG() to error() Andrei Emeltchenko
  2014-06-18 13:33   ` [PATCHv2 02/11] android/gatt: Fix wrong initial value Andrei Emeltchenko
  2014-06-18 13:33   ` [PATCHv2 03/11] android/gatt: Fix memory leak Andrei Emeltchenko
@ 2014-06-18 13:33   ` Andrei Emeltchenko
  2014-06-18 13:33   ` [PATCHv2 05/11] android/hal-msg: " Andrei Emeltchenko
                     ` (6 subsequent siblings)
  9 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-18 13:33 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

---
 android/hal-health.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/android/hal-health.c b/android/hal-health.c
index ac6e87f..0d9136d 100644
--- a/android/hal-health.c
+++ b/android/hal-health.c
@@ -116,8 +116,7 @@ static bt_status_t register_application(bthl_reg_param_t *reg, int *app_id)
 	cmd->len = off;
 	status = hal_ipc_cmd(HAL_SERVICE_ID_HEALTH, HAL_OP_HEALTH_REG_APP,
 						sizeof(*cmd) + cmd->len, buf,
-							&rsp_len, &rsp, NULL);
-
+						&rsp_len, &rsp, NULL);
 	if (status != BT_STATUS_SUCCESS)
 		return status;
 
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCHv2 05/11] android/hal-msg: trivial: Correct coding style
  2014-06-18 13:33 ` [PATCHv2 01/11] android/gatt: Change DBG() to error() Andrei Emeltchenko
                     ` (2 preceding siblings ...)
  2014-06-18 13:33   ` [PATCHv2 04/11] android/hal-health: trivial: Correct coding style Andrei Emeltchenko
@ 2014-06-18 13:33   ` Andrei Emeltchenko
  2014-06-18 13:33   ` [PATCHv2 06/11] android/gatt: Fix warning by rearranging allocation Andrei Emeltchenko
                     ` (5 subsequent siblings)
  9 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-18 13:33 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Move rsp close to cmd improving readability of the code.
---
 android/hal-msg.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/android/hal-msg.h b/android/hal-msg.h
index 2c21a85..d93f557 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -403,6 +403,10 @@ struct hal_cmd_health_reg_app {
 	uint8_t  data[0];
 } __attribute__((packed));
 
+struct hal_rsp_health_reg_app {
+	uint16_t app_id;
+} __attribute__((packed));
+
 #define HAL_OP_HEALTH_MDEP		0x02
 struct hal_cmd_health_mdep {
 	uint16_t app_id;
@@ -413,10 +417,6 @@ struct hal_cmd_health_mdep {
 	uint8_t  descr[0];
 } __attribute__((packed));
 
-struct hal_rsp_health_reg_app {
-	uint16_t app_id;
-} __attribute__((packed));
-
 #define HAL_OP_HEALTH_UNREG_APP		0x03
 struct hal_cmd_health_unreg_app {
 	uint16_t app_id;
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCHv2 06/11] android/gatt: Fix warning by rearranging allocation
  2014-06-18 13:33 ` [PATCHv2 01/11] android/gatt: Change DBG() to error() Andrei Emeltchenko
                     ` (3 preceding siblings ...)
  2014-06-18 13:33   ` [PATCHv2 05/11] android/hal-msg: " Andrei Emeltchenko
@ 2014-06-18 13:33   ` Andrei Emeltchenko
  2014-06-18 13:33   ` [PATCHv2 07/11] android/haltest: Auto-accept pairing Andrei Emeltchenko
                     ` (4 subsequent siblings)
  9 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-18 13:33 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

We need to allocate array of uint8_t so fix allocation parameter, this
also removes unneeded type conversion.

This fixes clang warnings:
...
android/gatt.c:5967:29: warning: Result of 'calloc' is converted to a
pointer of type 'uint8_t', which is incompatible with sizeof operand
type 'uint16_t'
        entry->value = (uint8_t *) new0(uint16_t, 1);
                        ~~~~~~~~~  ^~~~~~~~~~~~~~~~~
./src/shared/util.h:81:26: note: expanded from macro 'new0'
                         ^~~~~~      ~~~~~~~~~
...
---
 android/gatt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/android/gatt.c b/android/gatt.c
index 626a65d..2bef5ab 100644
--- a/android/gatt.c
+++ b/android/gatt.c
@@ -5969,7 +5969,7 @@ static void gatt_srvc_change_read_cb(uint16_t handle, uint16_t offset,
 	ccc = bt_get_gatt_ccc(&dev->bdaddr);
 	entry->state = REQUEST_DONE;
 
-	entry->value = (uint8_t *) new0(uint16_t, 1);
+	entry->value = new0(uint8_t, 2);
 	if (!entry->value) {
 		entry->error = ATT_ECODE_INSUFF_RESOURCES;
 
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCHv2 07/11] android/haltest: Auto-accept pairing
  2014-06-18 13:33 ` [PATCHv2 01/11] android/gatt: Change DBG() to error() Andrei Emeltchenko
                     ` (4 preceding siblings ...)
  2014-06-18 13:33   ` [PATCHv2 06/11] android/gatt: Fix warning by rearranging allocation Andrei Emeltchenko
@ 2014-06-18 13:33   ` Andrei Emeltchenko
  2014-06-18 13:33   ` [PATCHv2 08/11] android/health: Remove unneeded check Andrei Emeltchenko
                     ` (3 subsequent siblings)
  9 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-18 13:33 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Simplify PTS testing by automatically auto accept Just Works pairing.
---
 android/client/if-bt.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/android/client/if-bt.c b/android/client/if-bt.c
index 4d6ff83..764979e 100644
--- a/android/client/if-bt.c
+++ b/android/client/if-bt.c
@@ -266,7 +266,8 @@ static void ssp_request_cb(bt_bdaddr_t *remote_bd_addr, bt_bdname_t *bd_name,
 			__func__, last_remote_addr, bd_name->name, cod,
 			bt_ssp_variant_t2str(pairing_variant), pass_key);
 
-	if (pairing_variant == BT_SSP_VARIANT_PASSKEY_CONFIRMATION) {
+	switch (pairing_variant) {
+	case BT_SSP_VARIANT_PASSKEY_CONFIRMATION:
 		sprintf(prompt, "Does other device show %d [Y/n] ?", pass_key);
 
 		ssp_request_addr = *remote_bd_addr;
@@ -274,6 +275,14 @@ static void ssp_request_cb(bt_bdaddr_t *remote_bd_addr, bt_bdname_t *bd_name,
 		ssp_request_pask_key = pass_key;
 
 		terminal_prompt_for(prompt, ssp_request_yes_no_answer);
+		break;
+	case BT_SSP_VARIANT_CONSENT:
+		EXEC(if_bluetooth->ssp_reply, remote_bd_addr, pairing_variant,
+								1, 0);
+		break;
+	default:
+		haltest_info("Not automatically handled\n");
+		break;
 	}
 }
 
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCHv2 08/11] android/health: Remove unneeded check
  2014-06-18 13:33 ` [PATCHv2 01/11] android/gatt: Change DBG() to error() Andrei Emeltchenko
                     ` (5 preceding siblings ...)
  2014-06-18 13:33   ` [PATCHv2 07/11] android/haltest: Auto-accept pairing Andrei Emeltchenko
@ 2014-06-18 13:33   ` Andrei Emeltchenko
  2014-06-18 13:33   ` [PATCHv2 09/11] android/health: Fix possible overflow Andrei Emeltchenko
                     ` (2 subsequent siblings)
  9 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-18 13:33 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

In case of error err is always set so the check is not needed.
---
 android/health.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/android/health.c b/android/health.c
index 0462e99..f893d0f 100644
--- a/android/health.c
+++ b/android/health.c
@@ -1063,9 +1063,7 @@ static void search_cb(sdp_list_t *recs, int err, gpointer data)
 	if (!mcap_create_mcl(mcap, &channel->dev->dst, channel->dev->ccpsm,
 					create_mcl_cb, channel, NULL, &gerr)) {
 		error("error creating mcl %s", gerr->message);
-
-		if (gerr)
-			g_error_free(gerr);
+		g_error_free(gerr);
 
 		goto fail;
 	}
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCHv2 09/11] android/health: Fix possible overflow
  2014-06-18 13:33 ` [PATCHv2 01/11] android/gatt: Change DBG() to error() Andrei Emeltchenko
                     ` (6 preceding siblings ...)
  2014-06-18 13:33   ` [PATCHv2 08/11] android/health: Remove unneeded check Andrei Emeltchenko
@ 2014-06-18 13:33   ` Andrei Emeltchenko
  2014-06-18 13:33   ` [PATCHv2 10/11] android/health: Fix missing error check Andrei Emeltchenko
  2014-06-18 13:33   ` [PATCHv2 11/11] android/health: trivial: Remove empty line Andrei Emeltchenko
  9 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-18 13:33 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

---
 android/mcap-lib.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/android/mcap-lib.c b/android/mcap-lib.c
index be9ce79..346688e 100644
--- a/android/mcap-lib.c
+++ b/android/mcap-lib.c
@@ -2357,7 +2357,7 @@ void mcap_sync_stop(struct mcap_mcl *mcl)
 
 static uint64_t time_us(struct timespec *tv)
 {
-	return tv->tv_sec * 1000000 + tv->tv_nsec / 1000;
+	return tv->tv_sec * 1000000ll + tv->tv_nsec / 1000ll;
 }
 
 static int64_t bt2us(int bt)
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCHv2 10/11] android/health: Fix missing error check
  2014-06-18 13:33 ` [PATCHv2 01/11] android/gatt: Change DBG() to error() Andrei Emeltchenko
                     ` (7 preceding siblings ...)
  2014-06-18 13:33   ` [PATCHv2 09/11] android/health: Fix possible overflow Andrei Emeltchenko
@ 2014-06-18 13:33   ` Andrei Emeltchenko
  2014-06-18 13:33   ` [PATCHv2 11/11] android/health: trivial: Remove empty line Andrei Emeltchenko
  9 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-18 13:33 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

---
 android/mcap-lib.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/android/mcap-lib.c b/android/mcap-lib.c
index 346688e..2a86416 100644
--- a/android/mcap-lib.c
+++ b/android/mcap-lib.c
@@ -2654,12 +2654,14 @@ static gboolean get_all_clocks(struct mcap_mcl *mcl, uint32_t *btclock,
 
 	while (latency > caps(mcl)->preempt_thresh && --retry >= 0) {
 
-		clock_gettime(CLK, &t0);
+		if (clock_gettime(CLK, &t0) < 0)
+			return FALSE;
 
 		if (!read_btclock(mcl, btclock, &btres))
 			continue;
 
-		clock_gettime(CLK, base_time);
+		if (clock_gettime(CLK, base_time) < 0)
+			return FALSE;
 
 		/*
 		 * Tries to detect preemption between clock_gettime
@@ -2668,6 +2670,9 @@ static gboolean get_all_clocks(struct mcap_mcl *mcl, uint32_t *btclock,
 		latency = time_us(base_time) - time_us(&t0);
 	}
 
+	if (retry < 0)
+		return FALSE;
+
 	*timestamp = mcap_get_timestamp(mcl, base_time);
 
 	return TRUE;
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [PATCHv2 11/11] android/health: trivial: Remove empty line
  2014-06-18 13:33 ` [PATCHv2 01/11] android/gatt: Change DBG() to error() Andrei Emeltchenko
                     ` (8 preceding siblings ...)
  2014-06-18 13:33   ` [PATCHv2 10/11] android/health: Fix missing error check Andrei Emeltchenko
@ 2014-06-18 13:33   ` Andrei Emeltchenko
  9 siblings, 0 replies; 42+ messages in thread
From: Andrei Emeltchenko @ 2014-06-18 13:33 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

---
 android/health.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/android/health.c b/android/health.c
index f893d0f..8625779 100644
--- a/android/health.c
+++ b/android/health.c
@@ -1255,7 +1255,6 @@ bool bt_health_register(struct ipc *ipc, const bdaddr_t *addr, uint8_t mode)
 					mcl_disconnected, mcl_uncached,
 					NULL, /* CSP is not used right now */
 					NULL, &err);
-
 	if (!mcap) {
 		error("Error creating MCAP instance : %s", err->message);
 		g_error_free(err);
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 42+ messages in thread

end of thread, other threads:[~2014-06-18 13:33 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-16  7:57 [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
2014-06-16  7:57 ` [PATCH 02/17] " Andrei Emeltchenko
2014-06-16  7:57 ` [PATCH 03/17] android/HDP: Change scope of mdep Andrei Emeltchenko
2014-06-17 22:15   ` Szymon Janc
2014-06-16  7:57 ` [PATCH 04/17] android/gatt: Change DBG() to error() Andrei Emeltchenko
2014-06-17 21:22   ` Szymon Janc
2014-06-16  7:57 ` [PATCH 05/17] android/gatt: Fix wrong initial value Andrei Emeltchenko
2014-06-17 21:21   ` Szymon Janc
2014-06-18  8:46     ` Andrei Emeltchenko
2014-06-16  7:57 ` [PATCH 06/17] HDP: trivial: Make code more readable Andrei Emeltchenko
2014-06-16  7:57 ` [PATCH 07/17] android/gatt: Fix meory leak Andrei Emeltchenko
2014-06-16  7:57 ` [PATCH 08/17] HDP: Add length check Andrei Emeltchenko
2014-06-16  7:57 ` [PATCH 09/17] mcap: Fix possible overflow Andrei Emeltchenko
2014-06-17 21:11   ` Szymon Janc
2014-06-18  8:47     ` Andrei Emeltchenko
2014-06-16  7:57 ` [PATCH 10/17] android/hal-sco: Fix error code printing Andrei Emeltchenko
2014-06-17 21:49   ` Szymon Janc
2014-06-16  7:57 ` [PATCH 11/17] android/ipc-tester: Fix closing invalid fd Andrei Emeltchenko
2014-06-16  7:57 ` [PATCH 12/17] android/avrcp: Fix adding missing breaks Andrei Emeltchenko
2014-06-16  7:57 ` [PATCH 13/17] android/hal-audio: Remove dead code Andrei Emeltchenko
2014-06-17 20:27   ` Szymon Janc
2014-06-16  7:57 ` [PATCH 14/17] android/gatt: Fix error check Andrei Emeltchenko
2014-06-16  7:57 ` [PATCH 15/17] HDP: Fix possible memory leak Andrei Emeltchenko
2014-06-17 20:51   ` Szymon Janc
2014-06-18  8:52     ` Andrei Emeltchenko
2014-06-16  7:57 ` [PATCH 16/17] android/hal-sco: Remove unneeded statement Andrei Emeltchenko
2014-06-17 20:31   ` Szymon Janc
2014-06-16  7:57 ` [PATCH 17/17] android/hal-health: trivial: Remove empty line Andrei Emeltchenko
2014-06-17  7:20 ` [PATCH 01/17] HDP: Fix checking always constant error code Andrei Emeltchenko
2014-06-17 21:27 ` Szymon Janc
2014-06-18  8:54   ` Andrei Emeltchenko
2014-06-18 13:33 ` [PATCHv2 01/11] android/gatt: Change DBG() to error() Andrei Emeltchenko
2014-06-18 13:33   ` [PATCHv2 02/11] android/gatt: Fix wrong initial value Andrei Emeltchenko
2014-06-18 13:33   ` [PATCHv2 03/11] android/gatt: Fix memory leak Andrei Emeltchenko
2014-06-18 13:33   ` [PATCHv2 04/11] android/hal-health: trivial: Correct coding style Andrei Emeltchenko
2014-06-18 13:33   ` [PATCHv2 05/11] android/hal-msg: " Andrei Emeltchenko
2014-06-18 13:33   ` [PATCHv2 06/11] android/gatt: Fix warning by rearranging allocation Andrei Emeltchenko
2014-06-18 13:33   ` [PATCHv2 07/11] android/haltest: Auto-accept pairing Andrei Emeltchenko
2014-06-18 13:33   ` [PATCHv2 08/11] android/health: Remove unneeded check Andrei Emeltchenko
2014-06-18 13:33   ` [PATCHv2 09/11] android/health: Fix possible overflow Andrei Emeltchenko
2014-06-18 13:33   ` [PATCHv2 10/11] android/health: Fix missing error check Andrei Emeltchenko
2014-06-18 13:33   ` [PATCHv2 11/11] android/health: trivial: Remove empty line Andrei Emeltchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).