diff --git a/sys/pci/if_xl.c b/sys/pci/if_xl.c index 95edcfa74795..fa3869555472 100644 --- a/sys/pci/if_xl.c +++ b/sys/pci/if_xl.c @@ -3033,8 +3033,9 @@ xl_ioctl(struct ifnet *ifp, u_long command, caddr_t data) CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_RX_SET_FILT|rxfilt); XL_SEL_WIN(7); - } else { - xl_init_locked(sc); + } else + if ((ifp->if_flags & IFF_RUNNING) == 0) { + xl_init_locked(sc); } } else { if (ifp->if_flags & IFF_RUNNING)