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>
Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@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 fbb52f78f1a6..79012bf77757 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