get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 86019,
    "url": "http://patchwork.dpdk.org/api/patches/86019/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/1609915409-272126-1-git-send-email-matan@nvidia.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1609915409-272126-1-git-send-email-matan@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1609915409-272126-1-git-send-email-matan@nvidia.com",
    "date": "2021-01-06T06:43:29",
    "name": "vdpa/mlx5: fix configuration mutex cleanup",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "b9d171fb94a72505e01e96c94e349749effb6d34",
    "submitter": {
        "id": 1911,
        "url": "http://patchwork.dpdk.org/api/people/1911/?format=api",
        "name": "Matan Azrad",
        "email": "matan@nvidia.com"
    },
    "delegate": {
        "id": 2642,
        "url": "http://patchwork.dpdk.org/api/users/2642/?format=api",
        "username": "mcoquelin",
        "first_name": "Maxime",
        "last_name": "Coquelin",
        "email": "maxime.coquelin@redhat.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1609915409-272126-1-git-send-email-matan@nvidia.com/mbox/",
    "series": [
        {
            "id": 14547,
            "url": "http://patchwork.dpdk.org/api/series/14547/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=14547",
            "date": "2021-01-06T06:43:29",
            "name": "vdpa/mlx5: fix configuration mutex cleanup",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/14547/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/86019/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/86019/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id D4F0AA09FF;\n\tWed,  6 Jan 2021 07:43:53 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 68BE51608AA;\n\tWed,  6 Jan 2021 07:43:53 +0100 (CET)",
            "from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])\n by mails.dpdk.org (Postfix) with ESMTP id 3FE6B16089F\n for <dev@dpdk.org>; Wed,  6 Jan 2021 07:43:52 +0100 (CET)",
            "from Internal Mail-Server by MTLPINE1 (envelope-from\n matan@nvidia.com) with SMTP; 6 Jan 2021 08:43:50 +0200",
            "from pegasus25.mtr.labs.mlnx. (pegasus25.mtr.labs.mlnx\n [10.210.16.10])\n by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 1066hoau030655;\n Wed, 6 Jan 2021 08:43:50 +0200"
        ],
        "From": "Matan Azrad <matan@nvidia.com>",
        "To": "dev@dpdk.org",
        "Cc": "Maxime Coquelin <maxime.coquelin@redhat.com>, stable@dpdk.org",
        "Date": "Wed,  6 Jan 2021 06:43:29 +0000",
        "Message-Id": "<1609915409-272126-1-git-send-email-matan@nvidia.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "Subject": "[dpdk-dev] [PATCH] vdpa/mlx5: fix configuration mutex cleanup",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "When the vDPA device is closed, the driver polling thread is canceled.\nThe polling thread locks the configuration mutex while it polls the CQs.\n\nWhen the cancellation happens, it may terminate the thread inside the\ncritical section what remains the configuration mutex locked.\n\nAfter device close, the driver may be configured again, in this case,\nfor example, when the first queue state is updated, the driver tries to\nlock the mutex again and deadlock appears.\n\nInitialize the mutex after the polling thread cancellation.\n\nFixes: 99abbd62c272 (\"vdpa/mlx5: fix queue update synchronization\")\nCc: stable@dpdk.org\n\nSigned-off-by: Matan Azrad <matan@nvidia.com>\nAcked-by: Xueming Li <xuemingl@nvidia.com>\n---\n drivers/vdpa/mlx5/mlx5_vdpa.c | 2 ++\n 1 file changed, 2 insertions(+)",
    "diff": "diff --git a/drivers/vdpa/mlx5/mlx5_vdpa.c b/drivers/vdpa/mlx5/mlx5_vdpa.c\nindex b64f364..0b2f1ab 100644\n--- a/drivers/vdpa/mlx5/mlx5_vdpa.c\n+++ b/drivers/vdpa/mlx5/mlx5_vdpa.c\n@@ -295,6 +295,8 @@\n \t}\n \tpriv->configured = 0;\n \tpriv->vid = 0;\n+\t/* The mutex may stay locked after event thread cancel - initiate it. */\n+\tpthread_mutex_init(&priv->vq_config_lock, NULL);\n \tDRV_LOG(INFO, \"vDPA device %d was closed.\", vid);\n \treturn ret;\n }\n",
    "prefixes": []
}