Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Apr 2013 01:14:54 +0000 (UTC)
From:      Neel Natu <neel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r250086 - head/usr.sbin/bhyve
Message-ID:  <201304300114.r3U1EsFw079993@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: neel
Date: Tue Apr 30 01:14:54 2013
New Revision: 250086
URL: http://svnweb.freebsd.org/changeset/base/250086

Log:
  Reset some more softc state when the guest resets the virtio network device.
  
  Obtained from:	NetApp

Modified:
  head/usr.sbin/bhyve/pci_virtio_net.c

Modified: head/usr.sbin/bhyve/pci_virtio_net.c
==============================================================================
--- head/usr.sbin/bhyve/pci_virtio_net.c	Tue Apr 30 00:49:30 2013	(r250085)
+++ head/usr.sbin/bhyve/pci_virtio_net.c	Tue Apr 30 01:14:54 2013	(r250086)
@@ -259,6 +259,7 @@ pci_vtnet_rxwait(struct pci_vtnet_softc 
 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
 		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;
 	}
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304300114.r3U1EsFw079993>