Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

e1000e: PHY cann't be initialized correctly on some I218 controllers

240 views
Skip to first unread message

Denis Turischev

unread,
Aug 1, 2016, 9:10:07 AM8/1/16
to
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 <denis.t...@compulab.co.il>

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) {

Raanan Avargil

unread,
Aug 4, 2016, 12:20:07 PM8/4/16
to
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-w...@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.

Denis Turischev

unread,
Aug 7, 2016, 5:00:06 AM8/7/16
to
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

Raanan Avargil

unread,
Aug 9, 2016, 11:20:05 AM8/9/16
to
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

Brown, Aaron F

unread,
Aug 9, 2016, 3:10:05 PM8/9/16
to
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

Neftin, Sasha

unread,
Aug 10, 2016, 4:20:06 PM8/10/16
to
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
_______________________________________________
Intel-wired-lan mailing list
Intel-w...@lists.osuosl.org
http://lists.osuosl.org/mailman/listinfo/intel-wired-lan
0 new messages