patric wrote:

Hi,

Think i got something working for me at least, and the fix is quite minimal and only downside that i could see from it was that you might get a small delay when bringing up the interface, but that's probably better than getting a non-functional interface that reports that it's up.

The fix seems to be quite simple with just a random sleep at the end of "tg3_setup_fiber_by_hand():"

               tw32_f(MAC_MODE, tp->mac_mode);
               udelay(40);
       }

out:
       udelay( net_random() % 400 );
       return current_link_up;
}

Not sure that this is a good fix or if it might break on other systems, but maybe you could have a quick look at that?

Regards,
Patric

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Last update on this.

"udelay( 100 + net_random % 300 )" seems to work much better and i have not had a single problem getting the link up within 10 seconds of a cold or warm-boot, and most often the link comes up directly without any sort of delay instead like before when it could hang for 30 seconds before getting a link, if you even got a link.

/Patric

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to