From owner-svn-src-all@FreeBSD.ORG Fri Oct 5 03:35:39 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 71619106566B; Fri, 5 Oct 2012 03:35:39 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5C75E8FC08; Fri, 5 Oct 2012 03:35:39 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q953Zdfm079043; Fri, 5 Oct 2012 03:35:39 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q953ZdLs079041; Fri, 5 Oct 2012 03:35:39 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201210050335.q953ZdLs079041@svn.freebsd.org> From: Pyun YongHyeon Date: Fri, 5 Oct 2012 03:35:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r241215 - head/sys/dev/bge X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Oct 2012 03:35:39 -0000 Author: yongari Date: Fri Oct 5 03:35:38 2012 New Revision: 241215 URL: http://svn.freebsd.org/changeset/base/241215 Log: Don't touch EMAC Mode and TX/RX MAC Mode register when driver is not running. Modified: head/sys/dev/bge/if_bge.c Modified: head/sys/dev/bge/if_bge.c ============================================================================== --- head/sys/dev/bge/if_bge.c Fri Oct 5 00:35:13 2012 (r241214) +++ head/sys/dev/bge/if_bge.c Fri Oct 5 03:35:38 2012 (r241215) @@ -896,7 +896,10 @@ bge_miibus_statchg(device_t dev) { struct bge_softc *sc; struct mii_data *mii; + sc = device_get_softc(dev); + if ((sc->bge_ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + return; mii = device_get_softc(sc->bge_miibus); if ((mii->mii_media_status & (IFM_ACTIVE | IFM_AVALID)) == @@ -5054,11 +5057,11 @@ bge_init_locked(struct bge_softc *sc) bge_writembx(sc, BGE_MBX_IRQ0_LO, 0); } - bge_ifmedia_upd_locked(ifp); - ifp->if_drv_flags |= IFF_DRV_RUNNING; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + bge_ifmedia_upd_locked(ifp); + callout_reset(&sc->bge_stat_ch, hz, bge_tick, sc); }