diff options
| author | Kornel Dulęba <kd@FreeBSD.org> | 2022-08-18 16:53:14 +0000 |
|---|---|---|
| committer | Kornel Dulęba <kd@FreeBSD.org> | 2022-08-18 16:53:14 +0000 |
| commit | 97ecdc00ac5ac506f4119be9570d13de2d3a003a (patch) | |
| tree | ee037145666ceacc52065b5c21ec80566705157b /sys/dev | |
| parent | 6d645da0d49decc0352f27b8b5ff1983c611659d (diff) | |
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/neta/if_mvneta.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/neta/if_mvneta.c b/sys/dev/neta/if_mvneta.c index c2eb32947716..eb6c9eec74ce 100644 --- a/sys/dev/neta/if_mvneta.c +++ b/sys/dev/neta/if_mvneta.c @@ -2054,9 +2054,11 @@ mvneta_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) struct ifreq *ifr; int error, mask; uint32_t flags; + bool reinit; int q; error = 0; + reinit = false; sc = ifp->if_softc; ifr = (struct ifreq *)data; switch (cmd) { @@ -2157,8 +2159,10 @@ mvneta_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) * Reinitialize RX queues. * We need to update RX descriptor size. */ - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + reinit = true; mvneta_stop_locked(sc); + } for (q = 0; q < MVNETA_RX_QNUM_MAX; q++) { mvneta_rx_lockq(sc, q); @@ -2172,7 +2176,7 @@ mvneta_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) } mvneta_rx_unlockq(sc, q); } - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (reinit) mvneta_init_locked(sc); mvneta_sc_unlock(sc); |
