diff options
| author | Kornel Duleba <mindal@semihalf.com> | 2021-08-31 06:22:29 +0000 |
|---|---|---|
| committer | Wojciech Macek <wma@FreeBSD.org> | 2021-08-31 06:22:29 +0000 |
| commit | 5438ef47e377d659acf7f97a66fe418223f2c847 (patch) | |
| tree | 2b77e239a5b3fe66ecda03f4a9a6b29b0a475c8d /sys | |
| parent | bb536de6c0d73566e610881e12c55489a7c6ec44 (diff) | |
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/dev/neta/if_mvneta.c | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/sys/dev/neta/if_mvneta.c b/sys/dev/neta/if_mvneta.c index 4ff830731e94..debb4a922cbc 100644 --- a/sys/dev/neta/if_mvneta.c +++ b/sys/dev/neta/if_mvneta.c @@ -2168,29 +2168,28 @@ mvneta_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) ifp->if_hwassist = CSUM_IP | CSUM_TCP | CSUM_UDP; } - - if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - /* Stop hardware */ + /* + * Reinitialize RX queues. + * We need to update RX descriptor size. + */ + if (ifp->if_drv_flags & IFF_DRV_RUNNING) mvneta_stop_locked(sc); - /* - * Reinitialize RX queues. - * We need to update RX descriptor size. - */ - for (q = 0; q < MVNETA_RX_QNUM_MAX; q++) { - mvneta_rx_lockq(sc, q); - if (mvneta_rx_queue_init(ifp, q) != 0) { - device_printf(sc->dev, - "initialization failed:" - " cannot initialize queue\n"); - mvneta_rx_unlockq(sc, q); - error = ENOBUFS; - break; - } + + for (q = 0; q < MVNETA_RX_QNUM_MAX; q++) { + mvneta_rx_lockq(sc, q); + if (mvneta_rx_queue_init(ifp, q) != 0) { + device_printf(sc->dev, + "initialization failed:" + " cannot initialize queue\n"); mvneta_rx_unlockq(sc, q); + error = ENOBUFS; + break; } - /* Trigger reinitialization */ - mvneta_init_locked(sc); + mvneta_rx_unlockq(sc, q); } + if (ifp->if_drv_flags & IFF_DRV_RUNNING) + mvneta_init_locked(sc); + mvneta_sc_unlock(sc); } break; |
