From: Lucas Nussbaum <lucas.nussbaum@loria.fr>
To: Linux Kernel Network Developers <netdev@vger.kernel.org>
Cc: linux.nics@intel.com, Bruce Allan <bruce.w.allan@intel.com>,
David Ertman <davidx.m.ertman@intel.com>,
e1000-devel@lists.sourceforge.net
Subject: e1000e: initialization breaks IPMI support on 80003ES2LAN
Date: Fri, 12 Feb 2016 16:58:47 +0100 [thread overview]
Message-ID: <20160212155847.GA22910@xanadu.blop.info> (raw)
Hi,
We have Intel 80003ES2LAN nics on SGI Altix XE310 servers (SuperMicro
Baseboard, with product name X7DGT). On those machines, one of the NIC
port is bridged internally with the BMC.
It seems that during the e1000e driver initialization (at boot time),
the NIC is reset, which causes the BMC to stop working (it stops
responding to pings, the IPMI SOL console stops working; a reboot
restores it, until the next driver initialization).
The exact same problem also occurs on Bull Novascale R422E1 nodes, with
the SuperMicro X7DWT baseboard.
It worked in the past (we noticed it when upgrading from Debian wheezy
(3.2 kernel) to Debian jessie (3.16 kernel)). Using git bisect, I tracked
this down to commit 2800209994f878b00724ceabb65d744855c8f99a (included
in Linux 3.15).
Digging further (as this commit is quite large), it seems that this
specific change introduced the problem:
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -3687,10 +3687,6 @@ void e1000e_power_up_phy(struct e1000_adapter *adapter)
*/
static void e1000_power_down_phy(struct e1000_adapter *adapter)
{
- /* WoL is enabled */
- if (adapter->wol)
- return;
-
if (adapter->hw.phy.ops.power_down)
adapter->hw.phy.ops.power_down(&adapter->hw);
}
I also confirmed that reverting this change on top of a 4.4 kernel, with
the following patch, fixes the problem (i.e. the BMC works again).
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -3791,6 +3791,8 @@ void e1000e_power_up_phy(struct e1000_adapter *adapter)
*/
static void e1000_power_down_phy(struct e1000_adapter *adapter)
{
+ return;
+
if (adapter->hw.phy.ops.power_down)
adapter->hw.phy.ops.power_down(&adapter->hw);
}
My understanding is that, during driver initialization, e1000e_reset()
is called, which calls e1000_power_down_phy(), which breaks the BMC.
Given the comment above the code that was removed, I suspected that it
could also break WoL, but I haven't confirmed that.
I can test patches if needed.
--
| Lucas Nussbaum Assistant professor @ Univ. de Lorraine |
| lucas.nussbaum@loria.fr LORIA / MADYNES |
| http://www.loria.fr/~lnussbau/ +33 3 54 95 86 19 |
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired
next reply other threads:[~2016-02-12 15:58 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-12 15:58 Lucas Nussbaum [this message]
2016-02-17 19:22 ` [linux-nics] e1000e: initialization breaks IPMI support on 80003ES2LAN Tantilov, Emil S
2016-02-17 20:39 ` Lucas Nussbaum
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160212155847.GA22910@xanadu.blop.info \
--to=lucas.nussbaum@loria.fr \
--cc=bruce.w.allan@intel.com \
--cc=davidx.m.ertman@intel.com \
--cc=e1000-devel@lists.sourceforge.net \
--cc=linux.nics@intel.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox