Forráskód Böngészése

[PATCH] x86_64: free_bootmem_node needs __pa in allocate_aperture

free_bootmem_node expects a physical address to be passed in, but
__alloc_bootmem_node returns a virtual one.  That address needs to be
translated to physical.

Signed-off-by: Jon Mason <jdmason@us.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jon Mason 19 éve
szülő
commit
c912c2db2f
1 módosított fájl, 1 hozzáadás és 1 törlés
  1. 1 1
      arch/x86_64/kernel/aperture.c

+ 1 - 1
arch/x86_64/kernel/aperture.c

@@ -60,7 +60,7 @@ static u32 __init allocate_aperture(void)
 		printk("Cannot allocate aperture memory hole (%p,%uK)\n",
 		       p, aper_size>>10);
 		if (p)
-			free_bootmem_node(nd0, (unsigned long)p, aper_size); 
+			free_bootmem_node(nd0, __pa(p), aper_size); 
 		return 0;
 	}
 	printk("Mapping aperture over %d KB of RAM @ %lx\n",