aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/xen/mm.c
diff options
context:
space:
mode:
authorMark Brown <[email protected]>2021-05-18 17:24:52 +0100
committerMark Brown <[email protected]>2021-05-18 17:24:52 +0100
commitc37fe6aff89cb0d842993fe2f69e48bf3ebe0ab0 (patch)
tree2a322c48218f7006bab789b7bf16ec58b129a096 /arch/arm/xen/mm.c
parentd7aed20d446d8c87f5e13adf73281056b0064a45 (diff)
parentd07f6ca923ea0927a1024dfccafc5b53b61cfecc (diff)
Merge tag 'v5.13-rc2' into spi-5.13
Linux 5.13-rc2
Diffstat (limited to 'arch/arm/xen/mm.c')
-rw-r--r--arch/arm/xen/mm.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/arm/xen/mm.c b/arch/arm/xen/mm.c
index 467fa225c3d0..a7e54a087b80 100644
--- a/arch/arm/xen/mm.c
+++ b/arch/arm/xen/mm.c
@@ -138,9 +138,15 @@ void xen_destroy_contiguous_region(phys_addr_t pstart, unsigned int order)
static int __init xen_mm_init(void)
{
struct gnttab_cache_flush cflush;
- if (!xen_initial_domain())
+ int rc;
+
+ if (!xen_swiotlb_detect())
return 0;
- xen_swiotlb_init(1, false);
+
+ rc = xen_swiotlb_init();
+ /* we can work with the default swiotlb */
+ if (rc < 0 && rc != -EEXIST)
+ return rc;
cflush.op = 0;
cflush.a.dev_bus_addr = 0;