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. MFC after: 7 days
This commit is contained in:
parent
66e0e139ee
commit
3cae73118e
@ -3054,6 +3054,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);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user