summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorPetr Tesarik <petr.tesarik.ext@huawei.com>2023-08-01 08:23:56 +0200
committerChristoph Hellwig <hch@lst.de>2023-08-01 18:02:02 +0200
commit0c6874a6ac0474b54c8d1ba33e243ec578ff815a (patch)
treed3de8f2e381871d8b58bf7b56ac0bdb24b23cff3 /arch
parent3fa6456ebe13adab3ba1817c8e515a5b88f95dce (diff)
downloadlinux-0c6874a6ac0474b54c8d1ba33e243ec578ff815a.tar.gz
linux-0c6874a6ac0474b54c8d1ba33e243ec578ff815a.tar.bz2
linux-0c6874a6ac0474b54c8d1ba33e243ec578ff815a.zip
swiotlb: bail out of swiotlb_init_late() if swiotlb is already allocated
If swiotlb is allocated, immediately return 0, so callers do not have to check io_tlb_default_mem.nslabs explicitly. Signed-off-by: Petr Tesarik <petr.tesarik.ext@huawei.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/xen/mm.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/arm/xen/mm.c b/arch/arm/xen/mm.c
index 3d826c0b5fee..882cd70c7a2f 100644
--- a/arch/arm/xen/mm.c
+++ b/arch/arm/xen/mm.c
@@ -125,12 +125,10 @@ static int __init xen_mm_init(void)
return 0;
/* we can work with the default swiotlb */
- if (!io_tlb_default_mem.nslabs) {
- rc = swiotlb_init_late(swiotlb_size_or_default(),
- xen_swiotlb_gfp(), NULL);
- if (rc < 0)
- return rc;
- }
+ rc = swiotlb_init_late(swiotlb_size_or_default(),
+ xen_swiotlb_gfp(), NULL);
+ if (rc < 0)
+ return rc;
cflush.op = 0;
cflush.a.dev_bus_addr = 0;