Commit 0c6874a6 authored by Petr Tesarik's avatar Petr Tesarik Committed by Christoph Hellwig
Browse files

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: default avatarPetr Tesarik <petr.tesarik.ext@huawei.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 3fa6456e
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -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;
	}

	cflush.op = 0;
	cflush.a.dev_bus_addr = 0;
+3 −0
Original line number Diff line number Diff line
@@ -384,6 +384,9 @@ int swiotlb_init_late(size_t size, gfp_t gfp_mask,
	bool retried = false;
	int rc = 0;

	if (io_tlb_default_mem.nslabs)
		return 0;

	if (swiotlb_force_disable)
		return 0;