On Sun, 2007-07-22 at 13:43 +0200, patric wrote: > 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. >
We'll have to do some testing to see if we can find a better solution. Adding up to 400 usec of busy wait is not ideal. Are you connecting two 5701 fiber cards directly to each other in your setup? - 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