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:
parent
d8d41a0985
commit
a02be1be5b
@ -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
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user