Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f4780ca0 authored by FUJITA Tomonori's avatar FUJITA Tomonori Committed by Ingo Molnar
Browse files

x86: Move swiotlb initialization before dma32_free_bootmem



The commit 75f1cdf1 introduced a
bug that we initialize SWIOTLB right after dma32_free_bootmem so
we wrongly steal memory area allocated for GART with broken BIOS
earlier.

This moves swiotlb initialization before dma32_free_bootmem().

Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: yinghai@kernel.org
LKML-Reference: <1260759135-6450-2-git-send-email-fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent eba11d6d
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -120,11 +120,14 @@ static void __init dma32_free_bootmem(void)

void __init pci_iommu_alloc(void)
{
	int use_swiotlb;

	use_swiotlb = pci_swiotlb_init();
#ifdef CONFIG_X86_64
	/* free the range so iommu could get some range less than 4G */
	dma32_free_bootmem();
#endif
	if (pci_swiotlb_init())
	if (use_swiotlb)
		return;

	gart_iommu_hole_init();