Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/568512/?format=api
{ "id": 568512, "url": "http://patchwork.ozlabs.org/api/patches/568512/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1452897202-15204-14-git-send-email-joshua.a.hay@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": "<1452897202-15204-14-git-send-email-joshua.a.hay@intel.com>", "list_archive_url": null, "date": "2016-01-15T22:33:20", "name": "[next,S28,13/15] i40e: clean event descriptor before use", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "cf50926b3c334d6f8e827bf2ce1b676057b4a5c2", "submitter": { "id": 19461, "url": "http://patchwork.ozlabs.org/api/people/19461/?format=api", "name": "Joshua Hay", "email": "joshua.a.hay@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/1452897202-15204-14-git-send-email-joshua.a.hay@intel.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/568512/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/568512/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 whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\tby ozlabs.org (Postfix) with ESMTP id BD88E140BAB\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat, 16 Jan 2016 09:33:36 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 2D0BD91A73;\n\tFri, 15 Jan 2016 22:33:35 +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 xpX5dXYT7TTk; Fri, 15 Jan 2016 22:33:33 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 34E37919F2;\n\tFri, 15 Jan 2016 22:33:30 +0000 (UTC)", "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ash.osuosl.org (Postfix) with ESMTP id 91D011C2189\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 15 Jan 2016 22:33:25 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 8E8FE8B14E\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 15 Jan 2016 22:33:25 +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 iHDe4iLCHbeR for <intel-wired-lan@lists.osuosl.org>;\n\tFri, 15 Jan 2016 22:33:24 +0000 (UTC)", "from mga14.intel.com (mga14.intel.com [192.55.52.115])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 3A2DFA5A0D\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 15 Jan 2016 22:33:24 +0000 (UTC)", "from fmsmga002.fm.intel.com ([10.253.24.26])\n\tby fmsmga103.fm.intel.com with ESMTP; 15 Jan 2016 14:33:23 -0800", "from jahay1-mobl2.amr.corp.intel.com (HELO\n\tlocalhost.localdomain.localdomain) ([134.134.176.81])\n\tby fmsmga002.fm.intel.com with ESMTP; 15 Jan 2016 14:33:23 -0800" ], "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.22,302,1449561600\"; d=\"scan'208\";a=\"894132189\"", "From": "Joshua Hay <joshua.a.hay@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Fri, 15 Jan 2016 14:33:20 -0800", "Message-Id": "<1452897202-15204-14-git-send-email-joshua.a.hay@intel.com>", "X-Mailer": "git-send-email 2.1.0", "In-Reply-To": "<1452897202-15204-1-git-send-email-joshua.a.hay@intel.com>", "References": "<1452897202-15204-1-git-send-email-joshua.a.hay@intel.com>", "Subject": "[Intel-wired-lan] [next PATCH S28 13/15] i40e: clean event\n\tdescriptor before use", "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: Shannon Nelson <shannon.nelson@intel.com>\n\nIn one obscure corner case, it was possible to clear the NVM update wait\nflag when no update_done message was actually received. This patch\ncleans the event descriptor before use, and moves the opcode check to\nwhere it won't get done if there was no event to clean.\n\nAlso update copyright year in file headers.\n\nSigned-off-by: Shannon Nelson <shannon.nelson@intel.com>\nChange-ID: I68bbc41965e93f4adf07cbe98b9dfd63d41509a4\n---\nTesting Hints:\nDo an NVM update on that specific customer's platform.\n\n drivers/net/ethernet/intel/i40e/i40e_adminq.c | 20 +++++++++++---------\n drivers/net/ethernet/intel/i40evf/i40e_adminq.c | 5 ++++-\n 2 files changed, 15 insertions(+), 10 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c\nindex 1fd5ea8..df8e2fd 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c\n@@ -1,7 +1,7 @@\n /*******************************************************************************\n *\n * Intel Ethernet Controller XL710 Family Linux Driver\n- * Copyright(c) 2013 - 2014 Intel Corporation.\n+ * Copyright(c) 2013 - 2016 Intel Corporation.\n *\n * This program is free software; you can redistribute it and/or modify it\n * under the terms and conditions of the GNU General Public License,\n@@ -953,6 +953,9 @@ i40e_status i40e_clean_arq_element(struct i40e_hw *hw,\n \tu16 flags;\n \tu16 ntu;\n \n+\t/* pre-clean the event info */\n+\tmemset(&e->desc, 0, sizeof(e->desc));\n+\n \t/* take the lock before we start messing with the ring */\n \tmutex_lock(&hw->aq.arq_mutex);\n \n@@ -1020,14 +1023,6 @@ i40e_status i40e_clean_arq_element(struct i40e_hw *hw,\n \thw->aq.arq.next_to_clean = ntc;\n \thw->aq.arq.next_to_use = ntu;\n \n-clean_arq_element_out:\n-\t/* Set pending if needed, unlock and return */\n-\tif (pending != NULL)\n-\t\t*pending = (ntc > ntu ? hw->aq.arq.count : 0) + (ntu - ntc);\n-\n-clean_arq_element_err:\n-\tmutex_unlock(&hw->aq.arq_mutex);\n-\n \tif (i40e_is_nvm_update_op(&e->desc)) {\n \t\tif (hw->aq.nvm_release_on_done) {\n \t\t\ti40e_release_nvm(hw);\n@@ -1048,6 +1043,13 @@ clean_arq_element_err:\n \t\t}\n \t}\n \n+clean_arq_element_out:\n+\t/* Set pending if needed, unlock and return */\n+\tif (pending)\n+\t\t*pending = (ntc > ntu ? hw->aq.arq.count : 0) + (ntu - ntc);\n+clean_arq_element_err:\n+\tmutex_unlock(&hw->aq.arq_mutex);\n+\n \treturn ret_code;\n }\n \ndiff --git a/drivers/net/ethernet/intel/i40evf/i40e_adminq.c b/drivers/net/ethernet/intel/i40evf/i40e_adminq.c\nindex 3f65e39..44f7ed7 100644\n--- a/drivers/net/ethernet/intel/i40evf/i40e_adminq.c\n+++ b/drivers/net/ethernet/intel/i40evf/i40e_adminq.c\n@@ -1,7 +1,7 @@\n /*******************************************************************************\n *\n * Intel Ethernet Controller XL710 Family Linux Virtual Function Driver\n- * Copyright(c) 2013 - 2014 Intel Corporation.\n+ * Copyright(c) 2013 - 2016 Intel Corporation.\n *\n * This program is free software; you can redistribute it and/or modify it\n * under the terms and conditions of the GNU General Public License,\n@@ -887,6 +887,9 @@ i40e_status i40evf_clean_arq_element(struct i40e_hw *hw,\n \tu16 flags;\n \tu16 ntu;\n \n+\t/* pre-clean the event info */\n+\tmemset(&e->desc, 0, sizeof(e->desc));\n+\n \t/* take the lock before we start messing with the ring */\n \tmutex_lock(&hw->aq.arq_mutex);\n \n", "prefixes": [ "next", "S28", "13/15" ] }