Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/511345/?format=api
{ "id": 511345, "url": "http://patchwork.ozlabs.org/api/patches/511345/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1440690163-128213-11-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": "<1440690163-128213-11-git-send-email-catherine.sullivan@intel.com>", "list_archive_url": null, "date": "2015-08-27T15:42:38", "name": "[next,S12,10/15] i40e: Fix for extra Flow Director filter in table after error", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "e2bfd6f87ccea4fe9bdcf79d1e7bfe7ce3767525", "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/1440690163-128213-11-git-send-email-catherine.sullivan@intel.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/511345/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/511345/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 hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\tby ozlabs.org (Postfix) with ESMTP id 362911401DA\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 28 Aug 2015 01:41:55 +1000 (AEST)", "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 80770951E4;\n\tThu, 27 Aug 2015 15:41:54 +0000 (UTC)", "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id jXjbkulA2iw4; Thu, 27 Aug 2015 15:41:54 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 0761594FF4;\n\tThu, 27 Aug 2015 15:41:54 +0000 (UTC)", "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\tby ash.osuosl.org (Postfix) with ESMTP id 35D8C1C11E9\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 27 Aug 2015 15:41:51 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 2F5C595198\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 27 Aug 2015 15:41:51 +0000 (UTC)", "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id Zn7DAlwhFLWS for <intel-wired-lan@lists.osuosl.org>;\n\tThu, 27 Aug 2015 15:41:50 +0000 (UTC)", "from mga14.intel.com (mga14.intel.com [192.55.52.115])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 9F17694FF7\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 27 Aug 2015 15:41:50 +0000 (UTC)", "from orsmga003.jf.intel.com ([10.7.209.27])\n\tby fmsmga103.fm.intel.com with ESMTP; 27 Aug 2015 08:41:50 -0700", "from catheri1-tigger.jf.intel.com ([134.134.176.92])\n\tby orsmga003.jf.intel.com with ESMTP; 27 Aug 2015 08:41:49 -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.17,422,1437462000\"; d=\"scan'208\";a=\"633370271\"", "From": "Catherine Sullivan <catherine.sullivan@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Thu, 27 Aug 2015 11:42:38 -0400", "Message-Id": "<1440690163-128213-11-git-send-email-catherine.sullivan@intel.com>", "X-Mailer": "git-send-email 1.9.3", "In-Reply-To": "<1440690163-128213-1-git-send-email-catherine.sullivan@intel.com>", "References": "<1440690163-128213-1-git-send-email-catherine.sullivan@intel.com>", "Subject": "[Intel-wired-lan] [next PATCH S12 10/15] i40e: Fix for extra Flow\n\tDirector filter in table after error", "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: Carolyn Wyborny <carolyn.wyborny@intel.com>\n\nThis patch fixes a problem where the pf's fdir filter table would have an\nentry that the hw was unable to add. This notification happens in the hot\npath, so instead of trying to fix it then, we note the location in the\nfailure case and delete it during regular fdir subtask callback. Without\nthis patch, a case can occur where an invalid entry gets replayed and a\nvalid one is not.\n\nSigned-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com>\nSigned-off-by: Shannon Nelson <shannon.nelson@intel.com>\nChange-ID: I67831c183b5d0309876de807cc434809b74c9cb7\n---\n drivers/net/ethernet/intel/i40e/i40e.h | 1 +\n drivers/net/ethernet/intel/i40e/i40e_main.c | 14 ++++++++++++++\n drivers/net/ethernet/intel/i40e/i40e_txrx.c | 3 ++-\n 3 files changed, 17 insertions(+), 1 deletion(-)", "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h\nindex edda619..877fab3 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e.h\n+++ b/drivers/net/ethernet/intel/i40e/i40e.h\n@@ -412,6 +412,7 @@ struct i40e_pf {\n \tu32 npar_min_bw;\n \n \tu32 ioremap_len;\n+\tu32 fd_inv;\n };\n \n struct i40e_mac_filter {\ndiff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c\nindex 34c6796..6cc0fa0 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_main.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c\n@@ -5404,7 +5404,9 @@ u32 i40e_get_global_fd_count(struct i40e_pf *pf)\n **/\n void i40e_fdir_check_and_reenable(struct i40e_pf *pf)\n {\n+\tstruct i40e_fdir_filter *filter;\n \tu32 fcnt_prog, fcnt_avail;\n+\tstruct hlist_node *node;\n \n \tif (test_bit(__I40E_FD_FLUSH_REQUESTED, &pf->state))\n \t\treturn;\n@@ -5433,6 +5435,18 @@ void i40e_fdir_check_and_reenable(struct i40e_pf *pf)\n \t\t\t\tdev_info(&pf->pdev->dev, \"ATR is being enabled since we have space in the table now\\n\");\n \t\t}\n \t}\n+\n+\t/* if hw had a problem adding a filter, delete it */\n+\tif (pf->fd_inv > 0) {\n+\t\thlist_for_each_entry_safe(filter, node,\n+\t\t\t\t\t &pf->fdir_filter_list, fdir_node) {\n+\t\t\tif (filter->fd_id == pf->fd_inv) {\n+\t\t\t\thlist_del(&filter->fdir_node);\n+\t\t\t\tkfree(filter);\n+\t\t\t\tpf->fdir_pf_active_filters--;\n+\t\t\t}\n+\t\t}\n+\t}\n }\n \n #define I40E_MIN_FD_FLUSH_INTERVAL 10\ndiff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c\nindex 79c8f71..4232217 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c\n@@ -465,10 +465,11 @@ static void i40e_fd_handle_status(struct i40e_ring *rx_ring,\n \t\tI40E_RX_PROG_STATUS_DESC_QW1_ERROR_SHIFT;\n \n \tif (error == BIT(I40E_RX_PROG_STATUS_DESC_FD_TBL_FULL_SHIFT)) {\n+\t\tpf->fd_inv = le32_to_cpu(rx_desc->wb.qword0.hi_dword.fd_id);\n \t\tif ((rx_desc->wb.qword0.hi_dword.fd_id != 0) ||\n \t\t (I40E_DEBUG_FD & pf->hw.debug_mask))\n \t\t\tdev_warn(&pdev->dev, \"ntuple filter loc = %d, could not be added\\n\",\n-\t\t\t\t rx_desc->wb.qword0.hi_dword.fd_id);\n+\t\t\t\t pf->fd_inv);\n \n \t\t/* Check if the programming error is for ATR.\n \t\t * If so, auto disable ATR and set a state for\n", "prefixes": [ "next", "S12", "10/15" ] }