Fix response_needed setting logic 95/270795/1
authorWootak Jung <wootak.jung@samsung.com>
Wed, 9 Feb 2022 05:59:03 +0000 (14:59 +0900)
committerWootak Jung <wootak.jung@samsung.com>
Wed, 9 Feb 2022 06:10:13 +0000 (15:10 +0900)
response_needed should be true in case opcode is EXEC_WRITE_REQ.
EXEC_WRITE_REQ is used if the data size to write is bigger than
mtu size. otherwise, WRITE_REQ is used.

Change-Id: Ie9fbbeae9c0f0148c5dbd4938dafb1dbc6078cc2

src/gatt-database.c

index 382f8dde5f3c0db44334b16b91c3defd0f0dc52c..91d63785d53c3ac8803cf7d3ea96f9934a31cca4 100644 (file)
@@ -2711,7 +2711,7 @@ static void write_setup_cb(DBusMessageIter *iter, void *user_data)
        dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &addr_value);
        dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT32, &op->id);
        dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT16, &op->offset);
-       if (op->opcode == BT_ATT_OP_WRITE_REQ)
+       if (op->opcode == BT_ATT_OP_WRITE_REQ || op->opcode == BT_ATT_OP_EXEC_WRITE_REQ)
                response_needed = TRUE;
        dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &response_needed);
        if (op->prep_authorize)