On Sun, 2 Nov 2025 17:12:53 +0200
Leon Romanovsky <[email protected]> wrote:
> On Sun, Nov 02, 2025 at 08:01:37AM -0700, Alex Williamson wrote: 
> > We don't need the separate loop or flag, and adding it breaks the
> > existing reverse list walk.  Thanks,  
> 
> Do you want me to send v7? I have a feeling that v6 is good to be merged.

Let's hold off, if this ends up being the only fixup I can roll it in.
Thanks,

Alex
 
> diff --git a/drivers/vfio/pci/vfio_pci_core.c 
> b/drivers/vfio/pci/vfio_pci_core.c
> index 24204893e221..51a3bcc26f8b 100644
> --- a/drivers/vfio/pci/vfio_pci_core.c
> +++ b/drivers/vfio/pci/vfio_pci_core.c
> @@ -2403,7 +2403,6 @@ static int vfio_pci_dev_set_hot_reset(struct 
> vfio_device_set *dev_set,
>                                       struct iommufd_ctx *iommufd_ctx)
>  {
>         struct vfio_pci_core_device *vdev;
> -       bool restore_revoke = false;
>         struct pci_dev *pdev;
>         int ret;
>  
> @@ -2473,7 +2472,6 @@ static int vfio_pci_dev_set_hot_reset(struct 
> vfio_device_set *dev_set,
>                 }
>  
>                 vfio_pci_dma_buf_move(vdev, true);
> -               restore_revoke = true;
>                 vfio_pci_zap_bars(vdev);
>         }
>  
> @@ -2501,15 +2499,12 @@ static int vfio_pci_dev_set_hot_reset(struct 
> vfio_device_set *dev_set,
>                                struct vfio_pci_core_device, 
> vdev.dev_set_list);
>  
>  err_undo:
> -       if (restore_revoke) {
> -               list_for_each_entry(vdev, &dev_set->device_list, 
> vdev.dev_set_list)
> -                       if (__vfio_pci_memory_enabled(vdev))
> -                               vfio_pci_dma_buf_move(vdev, false);
> -       }
> -
>         list_for_each_entry_from_reverse(vdev, &dev_set->device_list,
> -                                        vdev.dev_set_list)
> +                                        vdev.dev_set_list) {
> +               if (__vfio_pci_memory_enabled(vdev))
> +                       vfio_pci_dma_buf_move(vdev, false);
>                 up_write(&vdev->memory_lock);
> +       }
>  
>         list_for_each_entry(vdev, &dev_set->device_list, vdev.dev_set_list)
>                 pm_runtime_put(&vdev->pdev->dev);
> 
> 
> > 
> > Alex
> >   
> 


Reply via email to