From owner-cvs-all Tue Sep 8 16:42:12 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id QAA09028 for cvs-all-outgoing; Tue, 8 Sep 1998 16:42:12 -0700 (PDT) (envelope-from owner-cvs-all) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id QAA09023; Tue, 8 Sep 1998 16:42:11 -0700 (PDT) (envelope-from wpaul@FreeBSD.org) From: Bill Paul Received: (from wpaul@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id QAA27283; Tue, 8 Sep 1998 16:42:10 -0700 (PDT) Date: Tue, 8 Sep 1998 16:42:10 -0700 (PDT) Message-Id: <199809082342.QAA27283@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: cvs commit: src/sys/pci if_xl.c Sender: owner-cvs-all@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk wpaul 1998/09/08 16:42:10 PDT Modified files: sys/pci if_xl.c Log: - If the OACTIVE flag is set on entry to xl_start(), check to see if the transmitter is wedged. If so, try to unwedge it, process any descriptors that might need to be free()d, then proceed. - Disable the 'background' autonegotiation performed during bootstrap. What happens currently is that the driver starts an autoneg session, the sets a timeout in the ifnet structure and returns. Later, when the timer expires, the watchdog routine calls the autoneg handler to check the results of the session. The problem with this is that the session may not complete until some point after we have started to mount NFS filesystems, which can cause the mounts to fail. This is especially troublesome if booting with an NFS rootfs: we need the interface up and running before reaching the mountroot() code. The default behavior now is to do the autoneg synchronously, i.e. wait 5 seconds for the autoneg to complete before exiting the driver attach routine. People who want the old behavior can compile the driver with XL_BACKGROUND_AUTONEG #defined. This has no effect on autoneg sessions initiated by 'ifconfig xl0 media autoselect.' This slows the probe down a little, but it's either that or botching NFS mounts at bootup. - If xl_setmode_mii() is called and there's an autoneg session in progress, cancel it, _then_ set the modes. Revision Changes Path 1.11 +68 -4 src/sys/pci/if_xl.c