get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 90220,
    "url": "http://patchwork.dpdk.org/api/patches/90220/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/1617184904-55349-5-git-send-email-humin29@huawei.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": "<1617184904-55349-5-git-send-email-humin29@huawei.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1617184904-55349-5-git-send-email-humin29@huawei.com",
    "date": "2021-03-31T10:01:38",
    "name": "[04/10] net/hns3: fix lack of rollback after setting PVID failed",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "811c726c1b32031980a293ca82a8fc49b5522497",
    "submitter": {
        "id": 1944,
        "url": "http://patchwork.dpdk.org/api/people/1944/?format=api",
        "name": "humin (Q)",
        "email": "humin29@huawei.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patchwork.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1617184904-55349-5-git-send-email-humin29@huawei.com/mbox/",
    "series": [
        {
            "id": 16009,
            "url": "http://patchwork.dpdk.org/api/series/16009/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=16009",
            "date": "2021-03-31T10:01:38",
            "name": "some bugfixes for hns3 PMD",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/16009/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/90220/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/90220/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 0C426A034F;\n\tWed, 31 Mar 2021 12:01:27 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id E2E22140E50;\n\tWed, 31 Mar 2021 12:01:26 +0200 (CEST)",
            "from szxga07-in.huawei.com (szxga07-in.huawei.com [45.249.212.35])\n by mails.dpdk.org (Postfix) with ESMTP id 959A7140E42\n for <dev@dpdk.org>; Wed, 31 Mar 2021 12:01:25 +0200 (CEST)",
            "from DGGEMS403-HUB.china.huawei.com (unknown [172.30.72.60])\n by szxga07-in.huawei.com (SkyGuard) with ESMTP id 4F9MGt2C5Qz9v4p\n for <dev@dpdk.org>; Wed, 31 Mar 2021 17:59:18 +0800 (CST)",
            "from localhost.localdomain (10.69.192.56) by\n DGGEMS403-HUB.china.huawei.com (10.3.19.203) with Microsoft SMTP Server id\n 14.3.498.0; Wed, 31 Mar 2021 18:01:19 +0800"
        ],
        "From": "\"Min Hu (Connor)\" <humin29@huawei.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<ferruh.yigit@intel.com>",
        "Date": "Wed, 31 Mar 2021 18:01:38 +0800",
        "Message-ID": "<1617184904-55349-5-git-send-email-humin29@huawei.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1617184904-55349-1-git-send-email-humin29@huawei.com>",
        "References": "<1617184904-55349-1-git-send-email-humin29@huawei.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[10.69.192.56]",
        "X-CFilter-Loop": "Reflected",
        "Subject": "[dpdk-dev] [PATCH 04/10] net/hns3: fix lack of rollback after\n setting PVID failed",
        "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": "From: Chengchang Tang <tangchengchang@huawei.com>\n\nCurrently, three hardware operations are involved in setting the PVID.\nIf any operation fails, a failure will be returned. And there may be\nresidual hardware configurations because no rollback is performed.\n\nThis patch adds rollback operation for setting PVID to avoid residual\nhardware configuration after the PVID fails to be configured.\n\nFixes: 411d23b9eafb (\"net/hns3: support VLAN\")\nCc: stable@dpdk.org\n\nSigned-off-by: Chengchang Tang <tangchengchang@huawei.com>\nSigned-off-by: Min Hu (Connor) <humin29@huawei.com>\n---\n drivers/net/hns3/hns3_ethdev.c | 20 +++++++++++++++++---\n 1 file changed, 17 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c\nindex 953e8a1..005e8bf 100644\n--- a/drivers/net/hns3/hns3_ethdev.c\n+++ b/drivers/net/hns3/hns3_ethdev.c\n@@ -964,7 +964,7 @@ hns3_vlan_pvid_configure(struct hns3_adapter *hns, uint16_t pvid, int on)\n {\n \tstruct hns3_hw *hw = &hns->hw;\n \tuint16_t port_base_vlan_state;\n-\tint ret;\n+\tint ret, err;\n \n \tif (on == 0 && pvid != hw->port_base_vlan_cfg.pvid) {\n \t\tif (hw->port_base_vlan_cfg.pvid != HNS3_INVALID_PVID)\n@@ -987,7 +987,7 @@ hns3_vlan_pvid_configure(struct hns3_adapter *hns, uint16_t pvid, int on)\n \tif (ret) {\n \t\thns3_err(hw, \"failed to config rx vlan strip for pvid, \"\n \t\t\t \"ret = %d\", ret);\n-\t\treturn ret;\n+\t\tgoto pvid_vlan_strip_fail;\n \t}\n \n \tif (pvid == HNS3_INVALID_PVID)\n@@ -996,13 +996,27 @@ hns3_vlan_pvid_configure(struct hns3_adapter *hns, uint16_t pvid, int on)\n \tif (ret) {\n \t\thns3_err(hw, \"failed to update vlan filter entries, ret = %d\",\n \t\t\t ret);\n-\t\treturn ret;\n+\t\tgoto vlan_filter_set_fail;\n \t}\n \n out:\n \thw->port_base_vlan_cfg.state = port_base_vlan_state;\n \thw->port_base_vlan_cfg.pvid = on ? pvid : HNS3_INVALID_PVID;\n \treturn ret;\n+\n+vlan_filter_set_fail:\n+\terr = hns3_en_pvid_strip(hns, hw->port_base_vlan_cfg.state ==\n+\t\t\t\t\tHNS3_PORT_BASE_VLAN_ENABLE);\n+\tif (err)\n+\t\thns3_err(hw, \"fail to rollback pvid strip, ret = %d\", err);\n+\n+pvid_vlan_strip_fail:\n+\terr = hns3_vlan_txvlan_cfg(hns, hw->port_base_vlan_cfg.state,\n+\t\t\t\t\thw->port_base_vlan_cfg.pvid);\n+\tif (err)\n+\t\thns3_err(hw, \"fail to rollback txvlan status, ret = %d\", err);\n+\n+\treturn ret;\n }\n \n static int\n",
    "prefixes": [
        "04/10"
    ]
}