get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 81926,
    "url": "https://patches.dpdk.org/api/patches/81926/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1603443599-7356-2-git-send-email-tianfei.zhang@intel.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": "<1603443599-7356-2-git-send-email-tianfei.zhang@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1603443599-7356-2-git-send-email-tianfei.zhang@intel.com",
    "date": "2020-10-23T08:59:55",
    "name": "[v3,1/5] raw/ifpga/base: fix interrupt handler instance usage",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "1d00241ae27adc0a2fcf69cba15b47dd0f243c51",
    "submitter": {
        "id": 987,
        "url": "https://patches.dpdk.org/api/people/987/?format=api",
        "name": "Zhang, Tianfei",
        "email": "tianfei.zhang@intel.com"
    },
    "delegate": {
        "id": 1540,
        "url": "https://patches.dpdk.org/api/users/1540/?format=api",
        "username": "qzhan15",
        "first_name": "Qi",
        "last_name": "Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1603443599-7356-2-git-send-email-tianfei.zhang@intel.com/mbox/",
    "series": [
        {
            "id": 13263,
            "url": "https://patches.dpdk.org/api/series/13263/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=13263",
            "date": "2020-10-23T08:59:55",
            "name": "raw/ifpga/base: An improvement for multi-process",
            "version": 3,
            "mbox": "https://patches.dpdk.org/series/13263/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/81926/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/81926/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 4B9E5A04DE;\n\tFri, 23 Oct 2020 12:00:04 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id CFA3A72EC;\n\tFri, 23 Oct 2020 12:00:00 +0200 (CEST)",
            "from mga06.intel.com (mga06.intel.com [134.134.136.31])\n by dpdk.org (Postfix) with ESMTP id 0312A72EA;\n Fri, 23 Oct 2020 11:59:57 +0200 (CEST)",
            "from fmsmga003.fm.intel.com ([10.253.24.29])\n by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 23 Oct 2020 02:59:54 -0700",
            "from unknown (HELO sh_lab5_1.sh.intel.com) ([10.238.175.190])\n by FMSMGA003.fm.intel.com with ESMTP; 23 Oct 2020 02:59:53 -0700"
        ],
        "IronPort-SDR": [
            "\n 1kZrzaKUTPpip3fa6KjJPLuHz0JlQMGZe2uR+f2mKyredunmcCQOrifmvVJxr0PwuUUjHnnLJJ\n 3nt0xtBfyr1A==",
            "\n oASaPYkg6qM4q5zVzADzZynK8OjaMTViEjpNNl1NsqNh48rq7yxMmTWJamszMFI5Ul3rV4oR5F\n adtOyDnZHTeg=="
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6000,8403,9782\"; a=\"229288203\"",
            "E=Sophos;i=\"5.77,407,1596524400\"; d=\"scan'208\";a=\"229288203\"",
            "E=Sophos;i=\"5.77,407,1596524400\"; d=\"scan'208\";a=\"359556496\""
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "From": "Tianfei zhang <tianfei.zhang@intel.com>",
        "To": "dev@dpdk.org ,\n\trosen.xu@intel.com,\n\tqi.z.zhang@intel.com",
        "Cc": "Wei Huang <wei.huang@intel.com>, stable@dpdk.org,\n Tianfei zhang <tianfei.zhang@intel.com>",
        "Date": "Fri, 23 Oct 2020 04:59:55 -0400",
        "Message-Id": "<1603443599-7356-2-git-send-email-tianfei.zhang@intel.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1603443599-7356-1-git-send-email-tianfei.zhang@intel.com>",
        "References": "<1600846213-18093-1-git-send-email-tianfei.zhang@intel.com>\n <1603443599-7356-1-git-send-email-tianfei.zhang@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v3 1/5] raw/ifpga/base: fix interrupt handler\n\tinstance usage",
        "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 <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: Wei Huang <wei.huang@intel.com>\n\nInterrupt handler copied to the local 'intr_handle' variable by value\nbefore passing it to IRQ functions.\nThis leads IRQ functions update the local variable instead of\n'ifpga_irq_handle'.\n\nInstead, using 'intr_handle' local variable as pointer to\n'ifpga_irq_handle' as intended.\n\nFixes: e0a1aafe (\"raw/ifpga: introduce IRQ functions\")\nCc: stable@dpdk.org\n\nSigned-off-by: Wei Huang <wei.huang@intel.com>\nSigned-off-by: Tianfei zhang <tianfei.zhang@intel.com>\n---\nv2: fix typo in commit log\nv3: slit into 2 patches, one is fix the pointer variable, other is\nfix the return value.\n---\n drivers/raw/ifpga/ifpga_rawdev.c | 34 ++++++++++++++++----------------\n 1 file changed, 17 insertions(+), 17 deletions(-)",
    "diff": "diff --git a/drivers/raw/ifpga/ifpga_rawdev.c b/drivers/raw/ifpga/ifpga_rawdev.c\nindex a50173264..76b0f8a5b 100644\n--- a/drivers/raw/ifpga/ifpga_rawdev.c\n+++ b/drivers/raw/ifpga/ifpga_rawdev.c\n@@ -1337,17 +1337,16 @@ int\n ifpga_unregister_msix_irq(enum ifpga_irq_type type,\n \t\tint vec_start, rte_intr_callback_fn handler, void *arg)\n {\n-\tstruct rte_intr_handle intr_handle;\n+\tstruct rte_intr_handle *intr_handle;\n \n \tif (type == IFPGA_FME_IRQ)\n-\t\tintr_handle = ifpga_irq_handle[0];\n+\t\tintr_handle = &ifpga_irq_handle[0];\n \telse if (type == IFPGA_AFU_IRQ)\n-\t\tintr_handle = ifpga_irq_handle[vec_start + 1];\n+\t\tintr_handle = &ifpga_irq_handle[vec_start + 1];\n \n-\trte_intr_efd_disable(&intr_handle);\n+\trte_intr_efd_disable(intr_handle);\n \n-\treturn rte_intr_callback_unregister(&intr_handle,\n-\t\t\thandler, arg);\n+\treturn rte_intr_callback_unregister(intr_handle, handler, arg);\n }\n \n int\n@@ -1357,7 +1356,7 @@ ifpga_register_msix_irq(struct rte_rawdev *dev, int port_id,\n \t\tvoid *arg)\n {\n \tint ret;\n-\tstruct rte_intr_handle intr_handle;\n+\tstruct rte_intr_handle *intr_handle;\n \tstruct opae_adapter *adapter;\n \tstruct opae_manager *mgr;\n \tstruct opae_accelerator *acc;\n@@ -1371,26 +1370,26 @@ ifpga_register_msix_irq(struct rte_rawdev *dev, int port_id,\n \t\treturn -ENODEV;\n \n \tif (type == IFPGA_FME_IRQ) {\n-\t\tintr_handle = ifpga_irq_handle[0];\n+\t\tintr_handle = &ifpga_irq_handle[0];\n \t\tcount = 1;\n \t} else if (type == IFPGA_AFU_IRQ)\n-\t\tintr_handle = ifpga_irq_handle[vec_start + 1];\n+\t\tintr_handle = &ifpga_irq_handle[vec_start + 1];\n \n-\tintr_handle.type = RTE_INTR_HANDLE_VFIO_MSIX;\n+\tintr_handle->type = RTE_INTR_HANDLE_VFIO_MSIX;\n \n-\tret = rte_intr_efd_enable(&intr_handle, count);\n+\tret = rte_intr_efd_enable(intr_handle, count);\n \tif (ret)\n \t\treturn -ENODEV;\n \n-\tintr_handle.fd = intr_handle.efds[0];\n+\tintr_handle->fd = intr_handle->efds[0];\n \n \tIFPGA_RAWDEV_PMD_DEBUG(\"register %s irq, vfio_fd=%d, fd=%d\\n\",\n-\t\t\tname, intr_handle.vfio_dev_fd,\n-\t\t\tintr_handle.fd);\n+\t\t\tname, intr_handle->vfio_dev_fd,\n+\t\t\tintr_handle->fd);\n \n \tif (type == IFPGA_FME_IRQ) {\n \t\tstruct fpga_fme_err_irq_set err_irq_set;\n-\t\terr_irq_set.evtfd = intr_handle.efds[0];\n+\t\terr_irq_set.evtfd = intr_handle->efds[0];\n \n \t\tret = opae_manager_ifpga_set_err_irq(mgr, &err_irq_set);\n \t\tif (ret)\n@@ -1400,13 +1399,14 @@ ifpga_register_msix_irq(struct rte_rawdev *dev, int port_id,\n \t\tif (!acc)\n \t\t\treturn -EINVAL;\n \n-\t\tret = opae_acc_set_irq(acc, vec_start, count, intr_handle.efds);\n+\t\tret = opae_acc_set_irq(acc, vec_start, count,\n+\t\t\t\tintr_handle->efds);\n \t\tif (ret)\n \t\t\treturn -EINVAL;\n \t}\n \n \t/* register interrupt handler using DPDK API */\n-\tret = rte_intr_callback_register(&intr_handle,\n+\tret = rte_intr_callback_register(intr_handle,\n \t\t\thandler, (void *)arg);\n \tif (ret)\n \t\treturn -EINVAL;\n",
    "prefixes": [
        "v3",
        "1/5"
    ]
}