There is an error "e1000e: probe of 0000:00:19.0 failed with error -3"
that can be observed after power-on on some I218 controllers.
Hardware reset and re-initialization fixes the issue.
Signed-off-by: Denis Turischev <redacted>
diff -Nru linux-4.7.orig/drivers/net/ethernet/intel/e1000e/ich8lan.c linux-4.7/drivers/net/ethernet/intel/e1000e/ich8lan.c
--- linux-4.7.orig/drivers/net/ethernet/intel/e1000e/ich8lan.c 2016-07-24 22:23:50.000000000 +0300
+++ linux-4.7/drivers/net/ethernet/intel/e1000e/ich8lan.c 2016-08-01 13:59:08.046563095 +0300
@@ -155,6 +155,7 @@
static s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force);
static s32 e1000_setup_copper_link_pch_lpt(struct e1000_hw *hw);
static s32 e1000_oem_bits_config_ich8lan(struct e1000_hw *hw, bool d0_state);
+static s32 e1000_reset_hw_ich8lan(struct e1000_hw *hw);
static inline u16 __er16flash(struct e1000_hw *hw, unsigned long reg)
{@@ -459,8 +460,12 @@
phy->id = e1000_phy_unknown;
ret_val = e1000_init_phy_workarounds_pchlan(hw);
- if (ret_val)
- return ret_val;
+ if (ret_val) {
+ e1000_reset_hw_ich8lan(hw);
+ ret_val = e1000_init_phy_workarounds_pchlan(hw);
+ if (ret_val)
+ return ret_val;
+ }
if (phy->id == e1000_phy_unknown)
switch (hw->mac.type) {
On 8/1/2016 15:28, Denis Turischev wrote:
quoted hunk
There is an error "e1000e: probe of 0000:00:19.0 failed with error -3"
that can be observed after power-on on some I218 controllers.
Hardware reset and re-initialization fixes the issue.
Signed-off-by: Denis Turischev <redacted>
diff -Nru linux-4.7.orig/drivers/net/ethernet/intel/e1000e/ich8lan.c linux-4.7/drivers/net/ethernet/intel/e1000e/ich8lan.c
--- linux-4.7.orig/drivers/net/ethernet/intel/e1000e/ich8lan.c 2016-07-24 22:23:50.000000000 +0300
+++ linux-4.7/drivers/net/ethernet/intel/e1000e/ich8lan.c 2016-08-01 13:59:08.046563095 +0300
@@ -155,6 +155,7 @@
static s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force);
static s32 e1000_setup_copper_link_pch_lpt(struct e1000_hw *hw);
static s32 e1000_oem_bits_config_ich8lan(struct e1000_hw *hw, bool d0_state);
+static s32 e1000_reset_hw_ich8lan(struct e1000_hw *hw);
static inline u16 __er16flash(struct e1000_hw *hw, unsigned long reg)
{@@ -459,8 +460,12 @@
phy->id = e1000_phy_unknown;
ret_val = e1000_init_phy_workarounds_pchlan(hw);
- if (ret_val)
- return ret_val;
+ if (ret_val) {
+ e1000_reset_hw_ich8lan(hw);
+ ret_val = e1000_init_phy_workarounds_pchlan(hw);
+ if (ret_val)
+ return ret_val;
+ }
if (phy->id == e1000_phy_unknown)
switch (hw->mac.type) {_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@lists.osuosl.org
http://lists.osuosl.org/mailman/listinfo/intel-wired-lan
It is hard to determine what is exactly the problem here and what causes
the -3 error, but this is not the place to perform hw reset and retry to
init the phy.
---------------------------------------------------------------------
Intel Israel (74) Limited
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
Hi Raanan,
On 08/04/2016 07:18 PM, Raanan Avargil wrote:
It is hard to determine what is exactly the problem here and what causes the -3 error, but this is not the place to perform hw reset and retry to init the phy.
I agree that may be this is not the correct place for hw reset, can you advice about another solution?
It works, not only for me, for example it helps here:
http://www.linux.org.ru/forum/linux-hardware/10268216
Another fact that Windows drivers work fine with the same hw.
Denis
On 8/7/2016 11:56, Denis Turischev wrote:
Hi Raanan,
On 08/04/2016 07:18 PM, Raanan Avargil wrote:
quoted
It is hard to determine what is exactly the problem here and what causes the -3 error, but this is not the place to perform hw reset and retry to init the phy.
I agree that may be this is not the correct place for hw reset, can you advice about another solution?
It works, not only for me, for example it helps here:
http://www.linux.org.ru/forum/linux-hardware/10268216
Another fact that Windows drivers work fine with the same hw.
Denis
Hi Denis,
More suitable place to retry init the device would be in probe function.
However, we haven't seen initialization issues like this on i218.
Adding Aaron.
@Aaron - have you seen initialization errors on i218 devices?
Raanan
---------------------------------------------------------------------
Intel Israel (74) Limited
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
-----Original Message-----
From: Avargil, Raanan
Sent: Tuesday, August 9, 2016 8:11 AM
To: Denis Turischev <redacted>; intel-wired-
lan@lists.osuosl.org; Brown, Aaron F [off-list ref]; Kirsher,
Jeffrey T [off-list ref]
Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org
Subject: Re: [Intel-wired-lan] e1000e: PHY cann't be initialized correctly on
some I218 controllers
On 8/7/2016 11:56, Denis Turischev wrote:
quoted
Hi Raanan,
On 08/04/2016 07:18 PM, Raanan Avargil wrote:
quoted
It is hard to determine what is exactly the problem here and what causes
the -3 error, but this is not the place to perform hw reset and retry to init the
phy.
quoted
I agree that may be this is not the correct place for hw reset, can you advice
about another solution?
quoted
It works, not only for me, for example it helps here:
http://www.linux.org.ru/forum/linux-hardware/10268216
Another fact that Windows drivers work fine with the same hw.
Denis
Hi Denis,
More suitable place to retry init the device would be in probe function.
However, we haven't seen initialization issues like this on i218.
Adding Aaron.
@Aaron - have you seen initialization errors on i218 devices?
I have not. But I don't have many systems with i218 so all that means is my systems do not exhibit the problem.
Raanan
Hello Denis,
In case this reset help you fix initialization error of I218 you can use it locally on your system. How many system with I218 encountered with initialization error on your side?
Thanks,
Sasha
-----Original Message-----
From: Intel-wired-lan [mailto:intel-wired-lan-bounces@lists.osuosl.org] On Behalf Of Brown, Aaron F
Sent: Tuesday, August 09, 2016 9:59 PM
To: Avargil, Raanan <redacted>; Denis Turischev <redacted>; intel-wired-lan@lists.osuosl.org; Kirsher, Jeffrey T <redacted>
Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org
Subject: Re: [Intel-wired-lan] e1000e: PHY cann't be initialized correctly on some I218 controllers
-----Original Message-----
From: Avargil, Raanan
Sent: Tuesday, August 9, 2016 8:11 AM
To: Denis Turischev <redacted>; intel-wired-
lan@lists.osuosl.org; Brown, Aaron F [off-list ref];
Kirsher, Jeffrey T [off-list ref]
Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org
Subject: Re: [Intel-wired-lan] e1000e: PHY cann't be initialized
correctly on some I218 controllers
On 8/7/2016 11:56, Denis Turischev wrote:
quoted
Hi Raanan,
On 08/04/2016 07:18 PM, Raanan Avargil wrote:
quoted
It is hard to determine what is exactly the problem here and what
causes
the -3 error, but this is not the place to perform hw reset and retry
to init the phy.
quoted
I agree that may be this is not the correct place for hw reset, can
you advice
about another solution?
quoted
It works, not only for me, for example it helps here:
http://www.linux.org.ru/forum/linux-hardware/10268216
Another fact that Windows drivers work fine with the same hw.
Denis
Hi Denis,
More suitable place to retry init the device would be in probe function.
However, we haven't seen initialization issues like this on i218.
Adding Aaron.
@Aaron - have you seen initialization errors on i218 devices?
I have not. But I don't have many systems with i218 so all that means is my systems do not exhibit the problem.
Raanan
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@lists.osuosl.org
http://lists.osuosl.org/mailman/listinfo/intel-wired-lan
---------------------------------------------------------------------
Intel Israel (74) Limited
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.