get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 57526,
    "url": "https://patches.dpdk.org/api/patches/57526/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/aa46067be7cc6b4d98fa496d4598ee3d3af4039b.1565188248.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": "<aa46067be7cc6b4d98fa496d4598ee3d3af4039b.1565188248.git.thierry.herbelot@6wind.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/aa46067be7cc6b4d98fa496d4598ee3d3af4039b.1565188248.git.thierry.herbelot@6wind.com",
    "date": "2019-08-07T14:37:22",
    "name": "[19.11,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/aa46067be7cc6b4d98fa496d4598ee3d3af4039b.1565188248.git.thierry.herbelot@6wind.com/mbox/",
    "series": [
        {
            "id": 5973,
            "url": "https://patches.dpdk.org/api/series/5973/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=5973",
            "date": "2019-08-07T14:37:19",
            "name": "Miscellaneous fixes",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/5973/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/57526/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/57526/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 C05473256;\n\tWed,  7 Aug 2019 16:38:04 +0200 (CEST)",
            "from mail-wm1-f66.google.com (mail-wm1-f66.google.com\n\t[209.85.128.66]) by dpdk.org (Postfix) with ESMTP id ADF122BCE\n\tfor <dev@dpdk.org>; Wed,  7 Aug 2019 16:37:54 +0200 (CEST)",
            "by mail-wm1-f66.google.com with SMTP id f17so294414wme.2\n\tfor <dev@dpdk.org>; Wed, 07 Aug 2019 07:37: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\t2sm133441211wrn.29.2019.08.07.07.37.53\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tWed, 07 Aug 2019 07:37: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=aZmqPYsu57sWBTWUEE89iHO5N4VAKUs0E1rkakVYswo=;\n\tb=DmQJLSTv4/hnSs58bcrlCFsTpubwtW+fiRQ915ILlQ37Q4YUTERGEP5ufeJ2nwu1h3\n\tORhJ1QUMTFkL97BVf6T/ro7AoXOISWUrhCfHJkWnso7+Dxz8YCOY6iaMwwDt5rox98KA\n\t9YCQy746PyKWy3iII0k8DnqG08OxU11IRLA9CYdKB7T9B/PonWntQRs1nL7x4ioiywNe\n\tjRl92LZokfrrmkmxmjsJFJfM7WPpXtFd+TwmiUGwOfQ2oDgoNTpJ5428hDjCiSjHkNRK\n\t0zRlNTNG8mIIJckWBnT3pRc/av3/qGbWLRxvqv83Ys29NneFTS1KYw+CL3A442RUHwrL\n\tKSuw==",
        "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=aZmqPYsu57sWBTWUEE89iHO5N4VAKUs0E1rkakVYswo=;\n\tb=fA5s5t8OyMJ++fTMqoCzcg7YAmTjQskz4GOA+snsQaojKIZbw7kwJetUJuM25Db3wh\n\tFAT7xsArIkz3qixvClbIC9klkH7hG4Qv3ENW4/gBThxxxVw3WWFIYjL4yq6gzMUxd3+M\n\tzCCGhyBNyN3cgMayNo5zvbr3RL7EQz32jbJPb+qOVPGgtdSWYUXwQ/bi6JeKOMBPynLX\n\tmEZrC+HeZlv6/YusAbV2SogHs0B6gfV2o04wai2oq+PLlc61/sDkqFSBZ1ULb0rc7iRo\n\tYzMmZkR0cnFauHme4PP8Eu0/ghWm8InX7Xy5iDTQbX3fGOvWKOAl2nFzxGtMMiOJ04PI\n\tNpoQ==",
        "X-Gm-Message-State": "APjAAAWbrOK93BiQExPFlUeYJn915CfL9yoDAIU1Lq7jhpHTtPrsmUz0\n\t/hDymN74/eWdW3Wupf1fqGyia2GHsA==",
        "X-Google-Smtp-Source": "APXvYqxUPv/FKVcoaTSBhx80MB+k7WO1GLPc3MwXFMrXxb+mYCaz31IRd20Ivlg/V1niK7OtKF3Fog==",
        "X-Received": "by 2002:a1c:6c14:: with SMTP id h20mr314226wmc.168.1565188674253;\n\tWed, 07 Aug 2019 07:37: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": "Wed,  7 Aug 2019 16:37:22 +0200",
        "Message-Id": "<aa46067be7cc6b4d98fa496d4598ee3d3af4039b.1565188248.git.thierry.herbelot@6wind.com>",
        "X-Mailer": "git-send-email 2.11.0",
        "In-Reply-To": [
            "<cover.1565188248.git.thierry.herbelot@6wind.com>",
            "<cover.1565188248.git.thierry.herbelot@6wind.com>"
        ],
        "References": [
            "<cover.1565188248.git.thierry.herbelot@6wind.com>",
            "<cover.1565188248.git.thierry.herbelot@6wind.com>"
        ],
        "Subject": "[dpdk-dev] [PATCH 19.11 03/12] net/e1000: fix Tx descriptor status\n\tapi (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 at 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",
        "03/12"
    ]
}