Fix response_needed setting logic 97/270797/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:16:33 +0000 (15:16 +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 6e65929..83bccb2 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)