lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 4 Aug 2016 19:18:08 +0300
From:	Raanan Avargil <raanan.avargil@...el.com>
To:	Denis Turischev <denis.turischev@...pulab.co.il>,
	intel-wired-lan@...ts.osuosl.org,
	Jeff Kirsher <jeffrey.t.kirsher@...el.com>
Cc:	netdev@...r.kernel.org, intel-wired-lan@...ts.osuosl.org,
	linux-kernel@...r.kernel.org
Subject: Re: [Intel-wired-lan] e1000e: PHY cann't be initialized correctly on
 some I218 controllers



On 8/1/2016 15:28, Denis Turischev wrote:
> 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.turischev@...pulab.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) {
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan@...ts.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.

Powered by blists - more mailing lists