get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 87495,
    "url": "https://patches.dpdk.org/api/patches/87495/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210128170046.3826-1-nick.connolly@mayadata.io/",
    "project": {
        "id": 1,
        "url": "https://patches.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": "<20210128170046.3826-1-nick.connolly@mayadata.io>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210128170046.3826-1-nick.connolly@mayadata.io",
    "date": "2021-01-28T17:00:46",
    "name": "[v2] bus/pci: nvme on Windows requires class id and bus",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "c9180e00ff974952db68fb8ddf78bb2d21dba8a8",
    "submitter": {
        "id": 1861,
        "url": "https://patches.dpdk.org/api/people/1861/?format=api",
        "name": "Nick Connolly",
        "email": "nick.connolly@mayadata.io"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20210128170046.3826-1-nick.connolly@mayadata.io/mbox/",
    "series": [
        {
            "id": 15015,
            "url": "https://patches.dpdk.org/api/series/15015/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=15015",
            "date": "2021-01-28T17:00:46",
            "name": "[v2] bus/pci: nvme on Windows requires class id and bus",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/15015/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/87495/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/87495/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 (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 1F5BDA09E4;\n\tThu, 28 Jan 2021 18:01:08 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 0A17540682;\n\tThu, 28 Jan 2021 18:01:08 +0100 (CET)",
            "from mail-wr1-f44.google.com (mail-wr1-f44.google.com\n [209.85.221.44]) by mails.dpdk.org (Postfix) with ESMTP id 478EB4067A\n for <dev@dpdk.org>; Thu, 28 Jan 2021 18:01:07 +0100 (CET)",
            "by mail-wr1-f44.google.com with SMTP id d16so6094483wro.11\n for <dev@dpdk.org>; Thu, 28 Jan 2021 09:01:07 -0800 (PST)",
            "from FENIX.datacoresoftware.com\n (cpc98320-croy25-2-0-cust77.19-2.cable.virginm.net. [80.235.134.78])\n by smtp.gmail.com with ESMTPSA id d16sm7519544wrr.59.2021.01.28.09.01.05\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 28 Jan 2021 09:01:06 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=mayadata-io.20150623.gappssmtp.com; s=20150623;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding;\n bh=CNf+85cbXh23ehZIgiERZt1a3GwrUV50nvLvRDpYiEY=;\n b=Ri8H/yOxMa7VidQgKlcCIUW6VMCUuEspQPDJIt8gIZ8i3NXdH9yXBIJKXxhvAMfpMJ\n N6xO3asZaF7Ux7I3CMmCrBw87GDqyGLlxwRffOgF1VwFNM6ZCTkmcf5kKVm7wo0kD8SX\n oECe4uOG0c85+SfA5U8SDxZHmkcAwySG5vxQnoK2xNc7Mdm2tZvYZmosxN/o85y/B5om\n qX+zEeESULjZSt3ehOLQYa+FpogpEvGae8Y93pbpn7tYMr36W93g4/GammbB92covJBf\n kpoSMdvFUiwy1u/ST58AUA916/r4TuAFfEgu93OaM3JP2jsv/qz/Fd+XteUfafavYD9N\n rVmQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n :references:mime-version:content-transfer-encoding;\n bh=CNf+85cbXh23ehZIgiERZt1a3GwrUV50nvLvRDpYiEY=;\n b=Jc9J418RJXshPpPvT9AOmXgnscHanwuGOFJIYLXRSSnLB3q9/qrQvL+VIha9kaA+Fv\n sQQcjsp81OjnTHjD0CeNqXmn026qAIU7F+GgQ32p8zthnsr/g7KzGG5SU17HtMnTY79T\n wtnG/yvVB8D4denoIJpqLFPQsjxVbiy4WEcXylkZFtMNFDPlE5QxEjONLQ5P02VgXo2A\n UViRsm6hL/Hw7JUHtLuYen8IYn5RfnF0Mi5QmmnEJQzpLIpOW9indW+KkOABNZKWhMNp\n 2nwFz97sIOSaZn55KSwG7X5HdGrrhs/U7o+tpkONJ3Wx/X9UrKoakD0Y2S66C8GEusho\n Wmgg==",
        "X-Gm-Message-State": "AOAM5330I0chh9/Fvf+adCI5SnwFbln6vw6iYE62p5COjrEpPQkoT/I2\n NohEQ6JJ3Qnz02ppP4t7JaIaZg==",
        "X-Google-Smtp-Source": "\n ABdhPJyMKn7D3MonyoR+qG0q7OIyvagxuowX8gpOtRqE61hraxcZY5aw8KuHT9cxTSrNH9F7+A5S5g==",
        "X-Received": "by 2002:adf:83a6:: with SMTP id 35mr17235989wre.274.1611853266976;\n Thu, 28 Jan 2021 09:01:06 -0800 (PST)",
        "From": "Nick Connolly <nick.connolly@mayadata.io>",
        "To": "talshn@nvidia.com, dmitry.kozliuk@gmail.com, pallavi.kadam@intel.com,\n thomas@monjalon.net",
        "Cc": "dev@dpdk.org,\n\tNick Connolly <nick.connolly@mayadata.io>",
        "Date": "Thu, 28 Jan 2021 17:00:46 +0000",
        "Message-Id": "<20210128170046.3826-1-nick.connolly@mayadata.io>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20210125170821.11306-1-nick.connolly@mayadata.io>",
        "References": "<20210125170821.11306-1-nick.connolly@mayadata.io>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v2] bus/pci: nvme on Windows requires class id\n and bus",
        "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": "Attaching to an NVMe disk on Windows using SPDK requires the\nPCI class ID and device.bus fields. Decode the class ID from the PCI\ndevice info strings if it is present and set device.bus.\n\nSigned-off-by: Nick Connolly <nick.connolly@mayadata.io>\n---\n drivers/bus/pci/windows/pci.c | 15 ++++++++++++++-\n 1 file changed, 14 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/drivers/bus/pci/windows/pci.c b/drivers/bus/pci/windows/pci.c\nindex f66258452..d380fc1ae 100644\n--- a/drivers/bus/pci/windows/pci.c\n+++ b/drivers/bus/pci/windows/pci.c\n@@ -280,17 +280,29 @@ parse_pci_hardware_id(const char *buf, struct rte_pci_id *pci_id)\n {\n \tint ids = 0;\n \tuint16_t vendor_id, device_id;\n-\tuint32_t subvendor_id = 0;\n+\tuint32_t subvendor_id = 0, class_id = 0;\n+\tconst char *cp;\n \n \tids = sscanf_s(buf, \"PCI\\\\VEN_%\" PRIx16 \"&DEV_%\" PRIx16 \"&SUBSYS_%\"\n \t\tPRIx32, &vendor_id, &device_id, &subvendor_id);\n \tif (ids != 3)\n \t\treturn -1;\n \n+\t/* Try and find PCI class ID */\n+\tfor (cp = buf; !(cp[0] == 0 && cp[1] == 0); cp++)\n+\t\tif (*cp == '&' && sscanf_s(cp,\n+\t\t\t\t\"&CC_%\" PRIx32, &class_id) == 1) {\n+\t\t\t/* Convert 4-digit class IDs to 6-digit format */\n+\t\t\tif (strspn(cp + 4, \"0123456789abcdefABCDEF\") == 4)\n+\t\t\t\tclass_id <<= 8;\n+\t\t\tbreak;\n+\t\t}\n+\n \tpci_id->vendor_id = vendor_id;\n \tpci_id->device_id = device_id;\n \tpci_id->subsystem_device_id = subvendor_id >> 16;\n \tpci_id->subsystem_vendor_id = subvendor_id & 0xffff;\n+\tpci_id->class_id = class_id;\n \treturn 0;\n }\n \n@@ -339,6 +351,7 @@ pci_scan_one(HDEVINFO dev_info, PSP_DEVINFO_DATA device_info_data)\n \tif (ret != 0)\n \t\tgoto end;\n \n+\tdev->device.bus = &rte_pci_bus.bus;\n \tdev->addr = addr;\n \tdev->id = pci_id;\n \tdev->max_vfs = 0; /* TODO: get max_vfs */\n",
    "prefixes": [
        "v2"
    ]
}