<dec f='src/src/sys/dev/pci/virtiovar.h' l='174' type='void virtio_reset(struct virtio_softc * )'/>
<use f='src/src/sys/dev/pci/if_vioif.c' l='759' u='c' c='vioif_stop'/>
<use f='src/src/sys/dev/pci/ld_virtio.c' l='593' u='c' c='ld_virtio_detach'/>
<def f='src/src/sys/dev/pci/virtio.c' l='460' ll='464' type='void virtio_reset(struct virtio_softc * sc)'/>
<doc f='src/src/sys/dev/pci/virtio.c' l='449'>/*
 * To reset the device to a known state, do following:
 *	virtio_reset(sc);	     // this will stop the device activity
 *	&lt;dequeue finished requests&gt;; // virtio_dequeue() still can be called
 *	&lt;revoke pending requests in the vqs if any&gt;;
 *	virtio_reinit_begin(sc);     // dequeue prohibitted
 *	newfeatures = virtio_negotiate_features(sc, requestedfeatures);
 *	&lt;some other initialization&gt;;
 *	virtio_reinit_end(sc);	     // device activated; enqueue allowed
 * Once attached, feature negotiation can only be allowed after virtio_reset.
 */</doc>
