Le 01/07/2010 22:49, Kenneth R Westerback a icrit :
> On Thu, Jul 01, 2010 at 09:45:48PM +0200, Fr?d?ric URBAN wrote:
>    
>> My bad !!! It was the bug #6408 - Initialization of "Intel PRO/1000ET
>> (82576)" failed sometimes.
>>
>> And this mail address is prefered for reply !
>>
>> Sad FWD is taboo :(
>>
>> Fred...
>>
>> -------- Message original --------
>> Sujet:       About the bug #6409 -got some informations
>> Date :       Thu, 01 Jul 2010 21:40:14 +0200
>> De :         Fridiric URBAN<frederic.ur...@gmail.com>
>> Pour :       b...@openbsd.org
>>
>>
>>
>> Hello,
>>
>> I've some informations about the bug #6409, I fixed a part of it and i
>> think what i did could be helpfull for thoses who'll try to fix it. Who
>> can I contact ? Where can I put those informations ?
>>
>> Fred...
>>
>>      
> Send your diff to tech@openbsd.org
>
> .... Ken
>    
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.ur...@ircad.u-strasbg.fr>
Pour :  m...@openbsd.org



>  Le 29/06/2010 20:46, Fridiric URBAN a icrit :
>  ... Useless blabla from meh...
>
>  PS: I'll have fiber card soon, we'll see they have the same problem.
>
>  Fred
>

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.

Reply via email to