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 |
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 --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;
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(-)