func (d *SerialDriver) Restart() error {
	d.Lock()
	defer d.Unlock()
	return d.Driver.Restart()
}
func (d *SerialDriver) Restart() error {
	d.Lock()
	defer d.Unlock()
	return d.Driver.Restart()
}
// Restart a host. This may just call Stop(); Start() if the provider does not
// have any special restart behaviour.