Show a patch.

GET /api/1.1/patches/12867/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 12867,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/12867/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/12867/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api",
        "name": "libcamera",
        "link_name": "libcamera",
        "list_id": "libcamera_core",
        "list_email": "libcamera-devel@lists.libcamera.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20210708082145.122160-3-umang.jain@ideasonboard.com>",
    "date": "2021-07-08T08:21:45",
    "name": "[libcamera-devel,2/2] utils: ipc: proxy: Always reset ControlSerializer during IPA configure",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "3266988f08191556979e7c542918b27283d85028",
    "submitter": {
        "id": 86,
        "url": "https://patchwork.libcamera.org/api/1.1/people/86/?format=api",
        "name": "Umang Jain",
        "email": "umang.jain@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/12867/mbox/",
    "series": [
        {
            "id": 2217,
            "url": "https://patchwork.libcamera.org/api/1.1/series/2217/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2217",
            "date": "2021-07-08T08:21:43",
            "name": "utils: ipc: proxy: Always reset ControlSerializer during IPA configure",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/2217/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/12867/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/12867/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "<libcamera-devel-bounces@lists.libcamera.org>",
        "X-Original-To": "parsemail@patchwork.libcamera.org",
        "Delivered-To": "parsemail@patchwork.libcamera.org",
        "Received": [
            "from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 7672DC3224\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  8 Jul 2021 08:22:02 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3244D6851C;\n\tThu,  8 Jul 2021 10:22:02 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8643168509\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  8 Jul 2021 10:22:00 +0200 (CEST)",
            "from perceval.ideasonboard.com (unknown [103.251.226.59])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 56C40E7;\n\tThu,  8 Jul 2021 10:21:59 +0200 (CEST)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"Tc8Y4wJV\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1625732520;\n\tbh=t/gm9f+i6C5UTXUsUhCPqGQ0U2maFNTvkwoGuBYOUkg=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=Tc8Y4wJVGaLVrvtVL2TN9iA/zmA/IUQK0D1fE12Jt+IoGN6ZtXOz8QyMpe1MHQMuj\n\tlVmrEcAeHRlipRrLn3qJ/0H62ExMOd0nRuu4AYiHyI/9VYPaVi/6lhVj0vfnmpjuj+\n\tOCj84qBOQVuqvgXA7mp7PW9Tr8mDgaaI7NXqLfYQ=",
        "From": "Umang Jain <umang.jain@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Thu,  8 Jul 2021 13:51:45 +0530",
        "Message-Id": "<20210708082145.122160-3-umang.jain@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.31.1",
        "In-Reply-To": "<20210708082145.122160-1-umang.jain@ideasonboard.com>",
        "References": "<20210708082145.122160-1-umang.jain@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH 2/2] utils: ipc: proxy: Always reset\n\tControlSerializer during IPA configure",
        "X-BeenThere": "libcamera-devel@lists.libcamera.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "<libcamera-devel.lists.libcamera.org>",
        "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>",
        "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>",
        "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>",
        "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>",
        "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "ControlSerializer should be reset during IPA (re)configuration,\nso that it doesn't look up stale deserialized cache built from\nconsecutive previous runs. This is already recommended in\nControlSerializer docs but the implementation seems missing.\n\nThe stale cache lookup seems to the core issue with Bug #58.\n\nBug: https://bugs.libcamera.org/show_bug.cgi?id=58\nSigned-off-by: Umang Jain <umang.jain@ideasonboard.com>\n---\n .../generators/libcamera_templates/module_ipa_proxy.cpp.tmpl  | 4 ++++\n 1 file changed, 4 insertions(+)",
    "diff": "diff --git a/utils/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl b/utils/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl\nindex 5a64fe9c..3d27067a 100644\n--- a/utils/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl\n+++ b/utils/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl\n@@ -125,6 +125,10 @@ void {{proxy_name}}::recvMessage(const IPCMessage &data)\n {% for method in interface_main.methods %}\n {{proxy_funcs.func_sig(proxy_name, method)}}\n {\n+{%- if method.mojom_name == \"configure\" %}\n+\tcontrolSerializer_.reset();\n+{%- endif %}\n+\n \tif (isolate_)\n \t\t{{\"return \" if method|method_return_value != \"void\"}}{{method.mojom_name}}IPC(\n {%- for param in method|method_param_names -%}\n",
    "prefixes": [
        "libcamera-devel",
        "2/2"
    ]
}