Re: About the bug #6409 -got some informations (Erratum)

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Frédéric URBAN
Date: Thursday, July 1, 2010 - 1:57 pm

Le 01/07/2010 22:49, Kenneth R Westerback a icrit :
I've no diff to send, i made to much change in the code to get enough 
debug verbosity but i've the analysis of the problem from the post i 
made on misc:

Form misc ML:

-------- Message original --------
Sujet: 	Re: Intel PRO/1000 QP on Dell R610 and OpenBSD 4.7
Date : 	Thu, 01 Jul 2010 22:18:42 +0200
De : 	Fridiric URBAN <frederic.urban@ircad.u-strasbg.fr>
Pour : 	misc@openbsd.org




Ok it's confirmed, the PHY used on the card has a strange behavior. Each
time that the function em_read_phy_reg() is used there is a  risk of
failure, The PHY is more often busy than useall. I added some debug
information in the code which show the return code of em_read_phy_reg()
and sometimes E1000_ERR_PHY is returned. This function is called very
very often (which is obvious). When it happends the interface won't work.

I partially fixed the hardware initialization by adding a timed retry
when the PHY is busy (in em_setup_copper_link()), but there is still
lots of occurrence of em_read_phy_reg() that need to be modified (ie: I
already had error in em_copper_link_autoneg()) and it's the first time I
put my finger inside a device driver :E So maybe there is a better way
to fix it ! We need a kernel guru !!! :D

Fred

Btw, I took the idea of the timed retry of em_read_phy_reg()  from
FreeBSD igb driver, in their equivalent of em_setup_copper_link(), they
use it.
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: About the bug #6409 -got some informations (Erratum), Frédéric URBAN, (Thu Jul 1, 1:57 pm)