{"id":807202,"url":"http://patchwork.ozlabs.org/api/patches/807202/?format=json","web_url":"http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20170829093242.41026-8-alice.michael@intel.com/","project":{"id":46,"url":"http://patchwork.ozlabs.org/api/projects/46/?format=json","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":"<20170829093242.41026-8-alice.michael@intel.com>","list_archive_url":null,"date":"2017-08-29T09:32:37","name":"[next,S79-V2,08/13] i40e: Display error message if module does not meet thermal requirements","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"b6a565dea40f5e2b07f4a0e1546085c2893be790","submitter":{"id":71123,"url":"http://patchwork.ozlabs.org/api/people/71123/?format=json","name":"Michael, Alice","email":"alice.michael@intel.com"},"delegate":{"id":68,"url":"http://patchwork.ozlabs.org/api/users/68/?format=json","username":"jtkirshe","first_name":"Jeff","last_name":"Kirsher","email":"jeffrey.t.kirsher@intel.com"},"mbox":"http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20170829093242.41026-8-alice.michael@intel.com/mbox/","series":[{"id":423,"url":"http://patchwork.ozlabs.org/api/series/423/?format=json","web_url":"http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=423","date":"2017-08-29T09:32:31","name":"[next,S79-V2,01/13] i40e: add private flag to control source pruning","version":1,"mbox":"http://patchwork.ozlabs.org/series/423/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/807202/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/807202/checks/","tags":{},"related":[],"headers":{"Return-Path":"<intel-wired-lan-bounces@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"],"Authentication-Results":"ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=osuosl.org\n\t(client-ip=140.211.166.137; helo=fraxinus.osuosl.org;\n\tenvelope-from=intel-wired-lan-bounces@osuosl.org;\n\treceiver=<UNKNOWN>)","Received":["from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xhbSP2xJ6z9ryr\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 30 Aug 2017 03:37:41 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id C3FF686A91;\n\tTue, 29 Aug 2017 17:37:39 +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 uEIEeyqEvVwU; Tue, 29 Aug 2017 17:37:39 +0000 (UTC)","from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 45A9D86A9C;\n\tTue, 29 Aug 2017 17:37:39 +0000 (UTC)","from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\tby ash.osuosl.org (Postfix) with ESMTP id 373A31CE993\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue, 29 Aug 2017 17:37:35 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 2933888B00\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue, 29 Aug 2017 17:37:35 +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 ZwwcDiN31+5s for <intel-wired-lan@lists.osuosl.org>;\n\tTue, 29 Aug 2017 17:37:34 +0000 (UTC)","from mga07.intel.com (mga07.intel.com [134.134.136.100])\n\tby hemlock.osuosl.org (Postfix) with ESMTPS id 9F5DD88B92\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tTue, 29 Aug 2017 17:37:34 +0000 (UTC)","from orsmga003.jf.intel.com ([10.7.209.27])\n\tby orsmga105.jf.intel.com with ESMTP; 29 Aug 2017 10:37:33 -0700","from unknown (HELO localhost.jf.intel.com) ([10.166.16.121])\n\tby orsmga003.jf.intel.com with ESMTP; 29 Aug 2017 10:37:33 -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.41,445,1498546800\"; d=\"scan'208\";\n\ta=\"1008934124\"","From":"Alice Michael <alice.michael@intel.com>","To":"alice.michael@intel.com,\n\tintel-wired-lan@lists.osuosl.org","Date":"Tue, 29 Aug 2017 05:32:37 -0400","Message-Id":"<20170829093242.41026-8-alice.michael@intel.com>","X-Mailer":"git-send-email 2.9.4","In-Reply-To":"<20170829093242.41026-1-alice.michael@intel.com>","References":"<20170829093242.41026-1-alice.michael@intel.com>","Cc":"Filip Sadowski <filip.sadowski@intel.com>","Subject":"[Intel-wired-lan] [next PATCH S79-V2 08/13] i40e: Display error\n\tmessage if module does not meet thermal requirements","X-BeenThere":"intel-wired-lan@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.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@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@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"},"content":"From: Filip Sadowski <filip.sadowski@intel.com>\n\nThis patch causes error message to be displayed when NIC detects\ninsertion of module that does not meet thermal requirements.\n\nSigned-off-by: Filip Sadowski <filip.sadowski@intel.com>\n---\n drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h  |  1 +\n drivers/net/ethernet/intel/i40e/i40e_main.c        | 24 +++++++++++++++++-----\n .../net/ethernet/intel/i40evf/i40e_adminq_cmd.h    |  1 +\n 3 files changed, 21 insertions(+), 5 deletions(-)","diff":"diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h b/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h\nindex 50c5a4c..a8f65ae 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h\n+++ b/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h\n@@ -1772,6 +1772,7 @@ enum i40e_aq_phy_type {\n \tI40E_PHY_TYPE_25GBASE_SR\t\t= 0x21,\n \tI40E_PHY_TYPE_25GBASE_LR\t\t= 0x22,\n \tI40E_PHY_TYPE_MAX,\n+\tI40E_PHY_TYPE_NOT_SUPPORTED_HIGH_TEMP\t= 0xFD,\n \tI40E_PHY_TYPE_EMPTY\t\t\t= 0xFE,\n \tI40E_PHY_TYPE_DEFAULT\t\t\t= 0xFF,\n };\ndiff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c\nindex 85bf225..b1712b4 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_main.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c\n@@ -6559,12 +6559,26 @@ static void i40e_handle_link_event(struct i40e_pf *pf,\n \t */\n \ti40e_link_event(pf);\n \n-\t/* check for unqualified module, if link is down */\n-\tif ((status->link_info & I40E_AQ_MEDIA_AVAILABLE) &&\n-\t    (!(status->an_info & I40E_AQ_QUALIFIED_MODULE)) &&\n-\t    (!(status->link_info & I40E_AQ_LINK_UP)))\n+\t/* Check if module meets thermal requirements */\n+\tif (status->phy_type == I40E_PHY_TYPE_NOT_SUPPORTED_HIGH_TEMP) {\n \t\tdev_err(&pf->pdev->dev,\n-\t\t\t\"The driver failed to link because an unqualified module was detected.\\n\");\n+\t\t\t\"Rx/Tx is disabled on this device because the module does not meet thermal requirements.\\n\");\n+\t\tdev_err(&pf->pdev->dev,\n+\t\t\t\"Refer to the Intel(R) Ethernet Adapters and Devices User Guide for a list of supported modules.\\n\");\n+\t} else {\n+\t\t/* check for unqualified module, if link is down, suppress\n+\t\t * the message if link was forced to be down.\n+\t\t */\n+\t\tif ((status->link_info & I40E_AQ_MEDIA_AVAILABLE) &&\n+\t\t    (!(status->an_info & I40E_AQ_QUALIFIED_MODULE)) &&\n+\t\t    (!(status->link_info & I40E_AQ_LINK_UP)) &&\n+\t\t    (!(pf->flags & I40E_FLAG_LINK_DOWN_ON_CLOSE_ENABLED))) {\n+\t\t\tdev_err(&pf->pdev->dev,\n+\t\t\t\t\"Rx/Tx is disabled on this device because an unsupported SFP module type was detected.\\n\");\n+\t\t\tdev_err(&pf->pdev->dev,\n+\t\t\t\t\"Refer to the Intel(R) Ethernet Adapters and Devices User Guide for a list of supported modules.\\n\");\n+\t\t}\n+\t}\n }\n \n /**\ndiff --git a/drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h b/drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h\nindex dc6fc8b..60c892f 100644\n--- a/drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h\n+++ b/drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h\n@@ -1768,6 +1768,7 @@ enum i40e_aq_phy_type {\n \tI40E_PHY_TYPE_25GBASE_SR\t\t= 0x21,\n \tI40E_PHY_TYPE_25GBASE_LR\t\t= 0x22,\n \tI40E_PHY_TYPE_MAX,\n+\tI40E_PHY_TYPE_NOT_SUPPORTED_HIGH_TEMP\t= 0xFD,\n \tI40E_PHY_TYPE_EMPTY\t\t\t= 0xFE,\n \tI40E_PHY_TYPE_DEFAULT\t\t\t= 0xFF,\n };\n","prefixes":["next","S79-V2","08/13"]}