get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 57558,
    "url": "https://patches.dpdk.org/api/patches/57558/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/6fa4aa21b2ab176fcc767272f8ab3dc59907d5a1.1565252336.git.thierry.herbelot@6wind.com/",
    "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": "<6fa4aa21b2ab176fcc767272f8ab3dc59907d5a1.1565252336.git.thierry.herbelot@6wind.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/6fa4aa21b2ab176fcc767272f8ab3dc59907d5a1.1565252336.git.thierry.herbelot@6wind.com",
    "date": "2019-08-08T08:22:08",
    "name": "[19.11,V3,03/12] net/e1000: fix Tx descriptor status api (igb)",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "77717b5474f0aff5ebe889226520ef3b0a8cc97e",
    "submitter": {
        "id": 897,
        "url": "https://patches.dpdk.org/api/people/897/?format=api",
        "name": "Thierry Herbelot",
        "email": "thierry.herbelot@6wind.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/6fa4aa21b2ab176fcc767272f8ab3dc59907d5a1.1565252336.git.thierry.herbelot@6wind.com/mbox/",
    "series": [
        {
            "id": 5981,
            "url": "https://patches.dpdk.org/api/series/5981/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=5981",
            "date": "2019-08-08T08:22:05",
            "name": "Miscellaneous fixes",
            "version": 3,
            "mbox": "https://patches.dpdk.org/series/5981/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/57558/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/57558/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id BA9F42BF1;\n\tThu,  8 Aug 2019 10:23:02 +0200 (CEST)",
            "from mail-wr1-f68.google.com (mail-wr1-f68.google.com\n\t[209.85.221.68]) by dpdk.org (Postfix) with ESMTP id BE53A2B87\n\tfor <dev@dpdk.org>; Thu,  8 Aug 2019 10:22:54 +0200 (CEST)",
            "by mail-wr1-f68.google.com with SMTP id k2so8137890wrq.2\n\tfor <dev@dpdk.org>; Thu, 08 Aug 2019 01:22:54 -0700 (PDT)",
            "from ascain.dev.6wind.com. (host.78.145.23.62.rev.coltfrance.com.\n\t[62.23.145.78]) by smtp.gmail.com with ESMTPSA id\n\tt13sm111437018wrr.0.2019.08.08.01.22.53\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tThu, 08 Aug 2019 01:22:53 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind.com; s=google; \n\th=from:to:cc:subject:date:message-id:in-reply-to:references\n\t:in-reply-to:references;\n\tbh=gTFJzslpHYR9f3LHN3S3BY6ntDu6T1luGQ2TnkCujSw=;\n\tb=XY1n8fq7qCYaBAKR6OUoWyiUnO8h3/Ju2Yd2A+lwyf1+3MoHEVlb6aRqg4tilCiA5V\n\tFHkWfjRDNtNXdTL7QS1A/DPflmu6oyUFVz3Xm+QEiqwh8+l7Hx1S9i8rsMnisEYt48+b\n\tFhP7X2XgaZn1fgABsd+I5xKqxrni2W0F8fXE4JuRnFiIGc0yvjKOZENuK4YicgxIN+BS\n\tBpYrW5kObLHArCTy++goonYL7jDBaWxW/QeUlNW66sIQ8BJUWZWy6mAL/FhpoirkmSET\n\tPiO1KSVMvUpCxCl2okmMNgPMsfd6/OvQ9sxMaa5UD1uQjZjcUdCLW6fcgoAwHEc5d21M\n\ty3tw==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references:in-reply-to:references;\n\tbh=gTFJzslpHYR9f3LHN3S3BY6ntDu6T1luGQ2TnkCujSw=;\n\tb=fLip2T5sJPQirhzNx5kakqyi0DT8TmELrfDtexSGVbPdnvMDK7KcUzATHbBgaveEoA\n\t9SGtL5UOntcY+6MQhI79f72m8wot0eLRqQbJ1sTy3pZHUCcgjMJnl5BLkB7ksyyARMYQ\n\t7AIBKUPSQDrCF2JdL1zvPOX//bIED6cfcnLwTnJpHmScjIREzzDKTCmkPgL8UnsZDjN7\n\thFUqSQf0fpAvIn31nX8Wuegbnher+8YzHUE6xjCgbtcX5IaUGKuNKdaQxUD5qRFlPq/7\n\txAzsW9BwbGbURMftmTpvqSDAg4wh7RrLzpx2gPpNteHVvpdd4jQbycJcRgbkuuP9hRLn\n\th0Iw==",
        "X-Gm-Message-State": "APjAAAXKNdJ3DKrAT+sFTSc22Fjycwsm1Ju8+ron6E3AOYL/xFSaAUsB\n\th05jX4vZSqUhqmREJ7qcOAfpKiHBew==",
        "X-Google-Smtp-Source": "APXvYqzxWFl9WIRxRdqmS8o3HxjO1MUP6qn5so92aYW1kf20LaYgqYRGa9AhuPH9YKA03E7+0BiUpA==",
        "X-Received": "by 2002:a05:6000:152:: with SMTP id\n\tr18mr5161056wrx.41.1565252574335; \n\tThu, 08 Aug 2019 01:22:54 -0700 (PDT)",
        "From": "Thierry Herbelot <thierry.herbelot@6wind.com>",
        "To": "dev@dpdk.org",
        "Cc": "Olivier Matz <olivier.matz@6wind.com>, stable@dpdk.org,\n\tThomas Monjalon <thomas@monjalon.net>",
        "Date": "Thu,  8 Aug 2019 10:22:08 +0200",
        "Message-Id": "<6fa4aa21b2ab176fcc767272f8ab3dc59907d5a1.1565252336.git.thierry.herbelot@6wind.com>",
        "X-Mailer": "git-send-email 2.11.0",
        "In-Reply-To": [
            "<cover.1565252336.git.thierry.herbelot@6wind.com>",
            "<cover.1565252336.git.thierry.herbelot@6wind.com>"
        ],
        "References": [
            "<cover.1565252336.git.thierry.herbelot@6wind.com>",
            "<cover.1565190405.git.thierry.herbelot@6wind.com>\n\t<cover.1565252336.git.thierry.herbelot@6wind.com>"
        ],
        "Subject": "[dpdk-dev] [PATCH 19.11 V3 03/12] net/e1000: fix Tx descriptor\n\tstatus api (igb)",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Olivier Matz <olivier.matz@6wind.com>\n\nThe Tx descriptor status api was not behaving as expected. This API is\nused to inspect the content of the descriptors in the Tx ring to\ndetermine the length of the Tx queue.\n\nSince the software advances the tail pointer and the hardware advances\nthe head pointer, the Tx queue is located before txq->tx_tail in the\nring. Therefore, a call to rte_eth_tx_descriptor_status(..., offset=20)\nshould inspect the 20th descriptor before the tail, not after.\n\nFixes: 978f8eea1719 (\"net/e1000: implement descriptor status API (igb)\")\nCc: stable@dpdk.org\n\nSigned-off-by: Olivier Matz <olivier.matz@6wind.com>\n---\n drivers/net/e1000/igb_rxtx.c | 9 +++++----\n 1 file changed, 5 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c\nindex c5606de5d7a0..c22118e59a21 100644\n--- a/drivers/net/e1000/igb_rxtx.c\n+++ b/drivers/net/e1000/igb_rxtx.c\n@@ -1835,14 +1835,15 @@ eth_igb_tx_descriptor_status(void *tx_queue, uint16_t offset)\n {\n \tstruct igb_tx_queue *txq = tx_queue;\n \tvolatile uint32_t *status;\n-\tuint32_t desc;\n+\tint32_t desc;\n \n \tif (unlikely(offset >= txq->nb_tx_desc))\n \t\treturn -EINVAL;\n \n-\tdesc = txq->tx_tail + offset;\n-\tif (desc >= txq->nb_tx_desc)\n-\t\tdesc -= txq->nb_tx_desc;\n+\tdesc = txq->tx_tail - offset - 1;\n+\tif (desc < 0)\n+\t\tdesc += txq->nb_tx_desc;\n+\tdesc = txq->sw_ring[desc].last_id;\n \n \tstatus = &txq->tx_ring[desc].wb.status;\n \tif (*status & rte_cpu_to_le_32(E1000_TXD_STAT_DD))\n",
    "prefixes": [
        "19.11",
        "V3",
        "03/12"
    ]
}