get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 499526,
    "url": "http://patchwork.ozlabs.org/api/patches/499526/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1437684884-222825-6-git-send-email-catherine.sullivan@intel.com/",
    "project": {
        "id": 46,
        "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api",
        "name": "Intel Wired Ethernet development",
        "link_name": "intel-wired-lan",
        "list_id": "intel-wired-lan.osuosl.org",
        "list_email": "intel-wired-lan@osuosl.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1437684884-222825-6-git-send-email-catherine.sullivan@intel.com>",
    "list_archive_url": null,
    "date": "2015-07-23T20:54:34",
    "name": "[next,S9,05/15] i40e/i40evf: fix tx hang workaround code",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "2ae33e32d4fe6ff8a572687f083a13cc01f061dc",
    "submitter": {
        "id": 13931,
        "url": "http://patchwork.ozlabs.org/api/people/13931/?format=api",
        "name": "Catherine Sullivan",
        "email": "catherine.sullivan@intel.com"
    },
    "delegate": {
        "id": 68,
        "url": "http://patchwork.ozlabs.org/api/users/68/?format=api",
        "username": "jtkirshe",
        "first_name": "Jeff",
        "last_name": "Kirsher",
        "email": "jeffrey.t.kirsher@intel.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1437684884-222825-6-git-send-email-catherine.sullivan@intel.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/499526/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/499526/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<intel-wired-lan-bounces@lists.osuosl.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Received": [
            "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ozlabs.org (Postfix) with ESMTP id 5AAE4140D19\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 24 Jul 2015 06:53:47 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id AC704A438E;\n\tThu, 23 Jul 2015 20:53:46 +0000 (UTC)",
            "from fraxinus.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id OyjpPTnp9DLd; Thu, 23 Jul 2015 20:53:45 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id EEF16A43A8;\n\tThu, 23 Jul 2015 20:53:45 +0000 (UTC)",
            "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\tby ash.osuosl.org (Postfix) with ESMTP id 222421BFA6C\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 23 Jul 2015 20:53:45 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 1C63891FF1\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 23 Jul 2015 20:53:45 +0000 (UTC)",
            "from whitealder.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id DTc5n2kMYu08 for <intel-wired-lan@lists.osuosl.org>;\n\tThu, 23 Jul 2015 20:53:44 +0000 (UTC)",
            "from mga11.intel.com (mga11.intel.com [192.55.52.93])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 7F4C291FF8\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 23 Jul 2015 20:53:44 +0000 (UTC)",
            "from fmsmga001.fm.intel.com ([10.253.24.23])\n\tby fmsmga102.fm.intel.com with ESMTP; 23 Jul 2015 13:53:44 -0700",
            "from catheri1-tigger.jf.intel.com ([134.134.176.92])\n\tby fmsmga001.fm.intel.com with ESMTP; 23 Jul 2015 13:53:44 -0700"
        ],
        "X-Virus-Scanned": [
            "amavisd-new at osuosl.org",
            "amavisd-new at osuosl.org"
        ],
        "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.15,533,1432623600\"; d=\"scan'208\";a=\"753353317\"",
        "From": "Catherine Sullivan <catherine.sullivan@intel.com>",
        "To": "intel-wired-lan@lists.osuosl.org",
        "Date": "Thu, 23 Jul 2015 16:54:34 -0400",
        "Message-Id": "<1437684884-222825-6-git-send-email-catherine.sullivan@intel.com>",
        "X-Mailer": "git-send-email 1.9.3",
        "In-Reply-To": "<1437684884-222825-1-git-send-email-catherine.sullivan@intel.com>",
        "References": "<1437684884-222825-1-git-send-email-catherine.sullivan@intel.com>",
        "Subject": "[Intel-wired-lan] [next PATCH S9 05/15] i40e/i40evf: fix tx hang\n\tworkaround code",
        "X-BeenThere": "intel-wired-lan@lists.osuosl.org",
        "X-Mailman-Version": "2.1.18-1",
        "Precedence": "list",
        "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.lists.osuosl.org>",
        "List-Unsubscribe": "<http://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>",
        "List-Post": "<mailto:intel-wired-lan@lists.osuosl.org>",
        "List-Help": "<mailto:intel-wired-lan-request@lists.osuosl.org?subject=help>",
        "List-Subscribe": "<http://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=subscribe>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "intel-wired-lan-bounces@lists.osuosl.org",
        "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@lists.osuosl.org>"
    },
    "content": "From: Jesse Brandeburg <jesse.brandeburg@intel.com>\n\nThe arm writeback (arm_wb) code is used for kicking the tx ring to\nmake sure any pending work is completed even if interrupts are\ndisabled. It was running when it didn't need to, and not clearing\nthe ring->arm_wb state after it was set.  This caused tx hangs\nto still occur occasionally when there really was no hang.\nFix this by resetting the variable right after it was used.\n\nSigned-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>\nChange-ID: I7bf75d552ba9c4bd203d40615213861a24bb5594\n---\n drivers/net/ethernet/intel/i40e/i40e_txrx.c   | 3 +--\n drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 3 +--\n 2 files changed, 2 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c\nindex 738aca6..8a3d596 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c\n@@ -793,8 +793,6 @@ static bool i40e_clean_tx_irq(struct i40e_ring *tx_ring, int budget)\n \t    !test_bit(__I40E_DOWN, &tx_ring->vsi->state) &&\n \t    (I40E_DESC_UNUSED(tx_ring) != tx_ring->count))\n \t\ttx_ring->arm_wb = true;\n-\telse\n-\t\ttx_ring->arm_wb = false;\n \n \tif (check_for_tx_hang(tx_ring) && i40e_check_tx_hang(tx_ring)) {\n \t\t/* schedule immediate reset if we believe we hung */\n@@ -1921,6 +1919,7 @@ int i40e_napi_poll(struct napi_struct *napi, int budget)\n \ti40e_for_each_ring(ring, q_vector->tx) {\n \t\tclean_complete &= i40e_clean_tx_irq(ring, vsi->work_limit);\n \t\tarm_wb |= ring->arm_wb;\n+\t\tring->arm_wb = false;\n \t}\n \n \t/* We attempt to distribute budget to each Rx queue fairly, but don't\ndiff --git a/drivers/net/ethernet/intel/i40evf/i40e_txrx.c b/drivers/net/ethernet/intel/i40evf/i40e_txrx.c\nindex a584e21..6c353b2 100644\n--- a/drivers/net/ethernet/intel/i40evf/i40e_txrx.c\n+++ b/drivers/net/ethernet/intel/i40evf/i40e_txrx.c\n@@ -309,8 +309,6 @@ static bool i40e_clean_tx_irq(struct i40e_ring *tx_ring, int budget)\n \t    !test_bit(__I40E_DOWN, &tx_ring->vsi->state) &&\n \t    (I40E_DESC_UNUSED(tx_ring) != tx_ring->count))\n \t\ttx_ring->arm_wb = true;\n-\telse\n-\t\ttx_ring->arm_wb = false;\n \n \tif (check_for_tx_hang(tx_ring) && i40e_check_tx_hang(tx_ring)) {\n \t\t/* schedule immediate reset if we believe we hung */\n@@ -1367,6 +1365,7 @@ int i40evf_napi_poll(struct napi_struct *napi, int budget)\n \ti40e_for_each_ring(ring, q_vector->tx) {\n \t\tclean_complete &= i40e_clean_tx_irq(ring, vsi->work_limit);\n \t\tarm_wb |= ring->arm_wb;\n+\t\tring->arm_wb = false;\n \t}\n \n \t/* We attempt to distribute budget to each Rx queue fairly, but don't\n",
    "prefixes": [
        "next",
        "S9",
        "05/15"
    ]
}