Date: Thu, 28 Apr 2011 14:42:55 +0000 (UTC) From: Andrew Gallatin <gallatin@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org Subject: svn commit: r221169 - stable/7/sys/dev/mxge Message-ID: <201104281442.p3SEgtIx027447@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: gallatin Date: Thu Apr 28 14:42:55 2011 New Revision: 221169 URL: http://svn.freebsd.org/changeset/base/221169 Log: MFC r220385: Implement mxge_init() This fixes a long standing bug in mxge(4) where "ifconfig mxge0 $IP" did not bring the interface into a RUNNING state, like it does on most (all?) other FreeBSD NIC drivers. Thanks to gnn for mentioning the bug, and yongari for pointing out that ether_ioctl() invokes ifp->if_init() in SIOCSIFADDR. Modified: stable/7/sys/dev/mxge/if_mxge.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/mxge/if_mxge.c ============================================================================== --- stable/7/sys/dev/mxge/if_mxge.c Thu Apr 28 14:42:42 2011 (r221168) +++ stable/7/sys/dev/mxge/if_mxge.c Thu Apr 28 14:42:55 2011 (r221169) @@ -2867,6 +2867,14 @@ mxge_intr(void *arg) static void mxge_init(void *arg) { + mxge_softc_t *sc = arg; + struct ifnet *ifp = sc->ifp; + + + mtx_lock(&sc->driver_mtx); + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + (void) mxge_open(sc); + mtx_unlock(&sc->driver_mtx); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104281442.p3SEgtIx027447>