diff mbox series

[Bluez,v1] shared/gatt-client: Fix GATT client attribute read with offset

Message ID 20201228142224.Bluez.v1.1.I89c3c683e3dec6439f3b0d2c00da86a2107019af@changeid
State New
Headers show
Series [Bluez,v1] shared/gatt-client: Fix GATT client attribute read with offset | expand

Commit Message

Howard Chung Dec. 28, 2020, 6:22 a.m. UTC
bluez always replies the whole value despite a user specify the offset.
This patch fixes the issue.

Reviewed-by: sonnysasaka@chromium.org
---

 src/gatt-client.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Luiz Augusto von Dentz June 28, 2021, 5:34 p.m. UTC | #1
Hi Howard,

On Mon, Jun 28, 2021 at 4:57 AM Yun-hao Chung <howardchung@google.com> wrote:
>

> Hi,

>

> Can we get a reply on this patch?

>

> Thanks,

> Howard

>

> On Mon, Dec 28, 2020 at 2:22 PM Howard Chung <howardchung@google.com> wrote:

>>

>> bluez always replies the whole value despite a user specify the offset.

>> This patch fixes the issue.

>>

>> Reviewed-by: sonnysasaka@chromium.org

>> ---

>>

>>  src/gatt-client.c | 6 ++++--

>>  1 file changed, 4 insertions(+), 2 deletions(-)

>>

>> diff --git a/src/gatt-client.c b/src/gatt-client.c

>> index 0cf5324ffa46..bec6e1ec049e 100644

>> --- a/src/gatt-client.c

>> +++ b/src/gatt-client.c

>> @@ -368,7 +368,8 @@ static void desc_read_cb(bool success, uint8_t att_ecode,

>>         }

>>

>>         /* Read the stored data from db */

>> -       if (!gatt_db_attribute_read(desc->attr, 0, 0, NULL, read_op_cb, op)) {

>> +       if (!gatt_db_attribute_read(desc->attr, op->offset, 0, NULL, read_op_cb,

>> +                                                                       op)) {

>>                 error("Failed to read database");

>>                 att_ecode = BT_ATT_ERROR_UNLIKELY;

>>                 goto fail;

>> @@ -906,7 +907,8 @@ static void chrc_read_cb(bool success, uint8_t att_ecode, const uint8_t *value,

>>         }

>>

>>         /* Read the stored data from db */

>> -       if (!gatt_db_attribute_read(chrc->attr, 0, 0, NULL, read_op_cb, op)) {

>> +       if (!gatt_db_attribute_read(chrc->attr, op->offset, 0, NULL, read_op_cb,

>> +                                                                       op)) {

>>                 error("Failed to read database");

>>                 att_ecode = BT_ATT_ERROR_UNLIKELY;

>>                 goto fail;

>> --

>> 2.29.2.729.g45daf8777d-goog


Applied, thanks.

-- 
Luiz Augusto von Dentz
diff mbox series

Patch

diff --git a/src/gatt-client.c b/src/gatt-client.c
index 0cf5324ffa46..bec6e1ec049e 100644
--- a/src/gatt-client.c
+++ b/src/gatt-client.c
@@ -368,7 +368,8 @@  static void desc_read_cb(bool success, uint8_t att_ecode,
 	}
 
 	/* Read the stored data from db */
-	if (!gatt_db_attribute_read(desc->attr, 0, 0, NULL, read_op_cb, op)) {
+	if (!gatt_db_attribute_read(desc->attr, op->offset, 0, NULL, read_op_cb,
+									op)) {
 		error("Failed to read database");
 		att_ecode = BT_ATT_ERROR_UNLIKELY;
 		goto fail;
@@ -906,7 +907,8 @@  static void chrc_read_cb(bool success, uint8_t att_ecode, const uint8_t *value,
 	}
 
 	/* Read the stored data from db */
-	if (!gatt_db_attribute_read(chrc->attr, 0, 0, NULL, read_op_cb, op)) {
+	if (!gatt_db_attribute_read(chrc->attr, op->offset, 0, NULL, read_op_cb,
+									op)) {
 		error("Failed to read database");
 		att_ecode = BT_ATT_ERROR_UNLIKELY;
 		goto fail;