particular drivers do not encapsulate much state. But bus drivers (like
USB) or storage drivers contain complex state that would go lost upon
restart. So those components must ultimately become infallible.
You can help us with that. I encourage you to report any problems that
you experience with those low-level components, if possible.
I see. My problem is not so much with usb_drv but with a particular device (my wifi dongle that's passed to the VM). After VM shutdown the USB state becomes corrupted somehow, and requires a hard reset by manually detaching the device, which is a pain. I hope to find some way to issue a reset in SW, but USB seems not to make that easy. Under linux one can, for example, detach the PCI connection for the host controller (e.g. xhci controller, ehci controller), and then rescan the PCI bus but it has to be done with caution because you lose the keyboard and mouse access during the reset period prior to the rescan unless you have a backup input device. There are also ways to cycle per-port power on some hubs, although I have not figured them out. They are I believe difficult but possible to control in linux, I think it may not even be possible under Sculpt right now?
Colin