From owner-cvs-all Wed Aug 19 08:07:59 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id IAA25961 for cvs-all-outgoing; Wed, 19 Aug 1998 08:07:59 -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 IAA25940; Wed, 19 Aug 1998 08:07:50 -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 IAA26052; Wed, 19 Aug 1998 08:07:46 -0700 (PDT) Date: Wed, 19 Aug 1998 08:07:46 -0700 (PDT) Message-Id: <199808191507.IAA26052@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/08/19 08:07:46 PDT Modified files: sys/pci if_xl.c Log: Make two changes: If I'm reading the manual correctly, the 3c905B actually loses its PCI configuration during the transition from D3(hot) back to D0, not during the transition from D0 to D3(hot). This means it should be possible to save the existing PCI settings, restet the power state, then restore the PCI settings afterwards. Changed xl_attach() to attempt this first thing before the normal PCI setup. I'm not certain this will work correctly, but it shouldn't hurt. If xl_init() is called while an autoneg session is in progress, the autoneg timeout and chip state will get clobbered. Try to avoid this by checking sc->xl_autoneg at the start of xl_init() and defer the initialization until later if it's set. (xl_init() is always called at the end of an autoneg session by xl_autoneg_mii().) Problem pointed out by: Larry Baird Revision Changes Path 1.3 +48 -28 src/sys/pci/if_xl.c