diff options
Diffstat (limited to 'usr.sbin/bhyve/pci_virtio_net.c')
-rw-r--r-- | usr.sbin/bhyve/pci_virtio_net.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/usr.sbin/bhyve/pci_virtio_net.c b/usr.sbin/bhyve/pci_virtio_net.c index e988bb6..14bbe0a 100644 --- a/usr.sbin/bhyve/pci_virtio_net.c +++ b/usr.sbin/bhyve/pci_virtio_net.c @@ -259,6 +259,7 @@ pci_vtnet_rxwait(struct pci_vtnet_softc *sc) static void pci_vtnet_update_status(struct pci_vtnet_softc *sc, uint32_t value) { + int i; if (value == 0) { DPRINTF(("vtnet: device reset requested !\n")); @@ -276,6 +277,12 @@ pci_vtnet_update_status(struct pci_vtnet_softc *sc, uint32_t value) pci_vtnet_ring_reset(sc, VTNET_RXQ); pci_vtnet_ring_reset(sc, VTNET_TXQ); + for (i = 0; i < VTNET_MAXQ; i++) + sc->vsc_msix_table_idx[i] = VIRTIO_MSI_NO_VECTOR; + + sc->vsc_isr = 0; + sc->vsc_features = 0; + sc->resetting = 0; } |