rpmsg: reset the virtio device after del_vqs
The virtio device configuration information for the rpmsg virtio
devices is usually present in a shared memory accessible to the
remote processor when it is running. The rpmsg_remove function
stops a remote processor and frees up all the resources associated
with the remote processor including memory. The remoteproc core
switches to a cached resource table and reconfigures the table
pointer used by virtio config functions once the remote processor
is stopped.
The virtio core touches the virtio device status bits during the
probe and remove of a virtio driver. The switching to the cached
resource table causes a loss of the reset status in the virtio
device configuration, and triggers a WARN_ON in virtio_dev_remove
function. Reset the status later within the rpmsg_remove function
to fix this.
Signed-off-by:
Suman Anna <s-anna@ti.com>
Loading
Please sign in to comment