On Thu, 23 Sep 2021, Oleksandr Andrushchenko wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>
> This is the very same that we already do for DT devices. Moreover, x86
> already calls pci_release_devices().
>
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> Since v1:
> - re-wording in the commit message
> ---
> xen/arch/arm/domain.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index f7ed130023d5..854e8fed0393 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -985,7 +985,8 @@ static int relinquish_memory(struct domain *d, struct page_list_head *list)
> * function which may return -ERESTART.
> */
> enum {
> - PROG_tee = 1,
> + PROG_pci = 1,
> + PROG_tee,
> PROG_xen,
> PROG_page,
> PROG_mapping,
> @@ -1022,6 +1023,12 @@ int domain_relinquish_resources(struct domain *d)
> #ifdef CONFIG_IOREQ_SERVER
> ioreq_server_destroy_all(d);
> #endif
> +#ifdef CONFIG_HAS_PCI
> + PROGRESS(pci):
> + ret = pci_release_devices(d);
> + if ( ret )
> + return ret;
> +#endif
>
> PROGRESS(tee):
> ret = tee_relinquish_resources(d);
> --
> 2.25.1
>