On Thu, 1 Oct 2026 at 11:18, Shah, Tanmay <[email protected]> wrote:
>
>
>
> On 10/1/2026 11:50 AM, Mathieu Poirier wrote:
> > On Sun, Sep 27, 2026 at 10:55:59AM +0200, Francesco Valla wrote:
> >> Hi Tanmay,
> >>
> >> On Thu, Sep 24, 2026 at 01:59:02PM -0700, Tanmay Shah wrote:
> >>> The virtio device is removed when the remoteproc device is removed. The
> >>> driver should issue reset on the virtio device so the remote can do
> >>> corresponding cleanup.
> >>>
> >>
> >> Shouldn't be the driver, and not the transport, the one that calls
> >> virtio_reset_device()?
> >
> > Function rproc_remove_virtio_dev() calls unregister_virtio_device(), which 
> > calls
> > device_unregister(), which should end up calling virtio_bus.remove(), in 
> > this
> > case virtio_dev_remove().  virtio_dev_remove() calls drv->remove().  If we 
> > take
> > the RPMSG driver, rpmsg_remove() calls virtio_reset_device(), so explicitly
> > resetting devices as part of rproc_remove_virtio_dev() is not needed.
> >
> > Tanmay, have you observed a scenario where the above isn't working?
> >
>
> Nope. I didn't send the patch based on any practical scenario. This is
> an old patch that I had used at the time to issue reset on shutdown. I
> missed that the driver is already doing it. Probably my assessment was
> incorrect at the time. I think we should remove this patch.
>

I backed it out.

> >>
> >>> Fixes: 7a186941626d ("remoteproc: remove the single rpmsg vdev 
> >>> limitation")
> >>> Signed-off-by: Tanmay Shah <[email protected]>
> >>> ---
> >>>  drivers/remoteproc/remoteproc_virtio.c | 2 ++
> >>>  1 file changed, 2 insertions(+)
> >>>
> >>> diff --git a/drivers/remoteproc/remoteproc_virtio.c 
> >>> b/drivers/remoteproc/remoteproc_virtio.c
> >>> index d5e9ff045a28..1cb0ee0ea656 100644
> >>> --- a/drivers/remoteproc/remoteproc_virtio.c
> >>> +++ b/drivers/remoteproc/remoteproc_virtio.c
> >>> @@ -469,6 +469,8 @@ static int rproc_remove_virtio_dev(struct device 
> >>> *dev, void *data)
> >>>  {
> >>>     struct virtio_device *vdev = dev_to_virtio(dev);
> >>>
> >>> +   virtio_reset_device(vdev);
> >>> +
> >>>     unregister_virtio_device(vdev);
> >>>     return 0;
> >>>  }
> >>>
> >>> base-commit: 5f639b3018c0026a5341949724b4b921cf3a3d5d
> >>> --
> >>> 2.43.0
> >>>
>

Reply via email to