diff --git a/drivers/misc/nsm.c b/drivers/misc/nsm.c index a3a9f9bfc6b7..f1bdde2b77e1 100644 --- a/drivers/misc/nsm.c +++ b/drivers/misc/nsm.c @@ -439,6 +439,8 @@ static int nsm_device_probe(struct virtio_device *vdev) mutex_init(&nsm->lock); + virtio_device_ready(vdev); + /* Register as hwrng provider */ nsm->hwrng = (struct hwrng) { .read = nsm_rng_read, @@ -471,6 +473,7 @@ static int nsm_device_probe(struct virtio_device *vdev) err_misc: hwrng_unregister(&nsm->hwrng); err_hwrng: + virtio_reset_device(vdev); vdev->config->del_vqs(vdev); err_init_vq: return rc;