Well, it seems that loading a PCI driver module after the system has

been booted works too -- very neat. However I don't want the system to
stop for 5 seconds when the MII autoprobe is triggered in the xl and
tl drivers since that's lame. Instead, only use the hard delay when
we've been cold booted. If not, use the timeout mechanism instead.
(The SysKonnect driver doesn't use the same autonegotiation scheme, so
no change is required there.)
This commit is contained in:
Bill Paul 1999-07-22 18:10:20 +00:00
parent d8d41a0985
commit a02be1be5b
2 changed files with 12 additions and 3 deletions

View File

@ -1517,7 +1517,10 @@ static int tl_attach_phy(sc)
#ifdef TL_BACKGROUND_AUTONEG
tl_autoneg(sc, TL_FLAG_SCHEDDELAY, 1);
#else
tl_autoneg(sc, TL_FLAG_FORCEDELAY, 1);
if (cold)
tl_autoneg(sc, TL_FLAG_FORCEDELAY, 1);
else
tl_autoneg(sc, TL_FLAG_SCHEDDELAY, 1);
#endif
}

View File

@ -1771,7 +1771,10 @@ xl_attach(dev)
#ifdef XL_BACKGROUND_AUTONEG
xl_autoneg_mii(sc, XL_FLAG_SCHEDDELAY, 1);
#else
xl_autoneg_mii(sc, XL_FLAG_FORCEDELAY, 1);
if (cold)
xl_autoneg_mii(sc, XL_FLAG_FORCEDELAY, 1);
else
xl_autoneg_mii(sc, XL_FLAG_SCHEDDELAY, 1);
#endif
media = sc->ifmedia.ifm_media;
break;
@ -1780,7 +1783,10 @@ xl_attach(dev)
#ifdef XL_BACKGROUND_AUTONEG
xl_autoneg_mii(sc, XL_FLAG_SCHEDDELAY, 1);
#else
xl_autoneg_mii(sc, XL_FLAG_FORCEDELAY, 1);
if (cold)
xl_autoneg_mii(sc, XL_FLAG_FORCEDELAY, 1);
else
xl_autoneg_mii(sc, XL_FLAG_SCHEDDELAY, 1);
#endif
media = sc->ifmedia.ifm_media;
break;