mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-18 18:23:53 +08:00
[PATCH] powerpc: Don't allocate zero bytes in finish_device_tree()
In prom.c we run finish_node() on allnodes twice. The first time we just calculate how much memory we'll need, the second time we do the actual work. If the calculation stage determines that we need 0 bytes, then we should skip the lmb allocation. Although an alloc of zero will work, it has been seen to lead to a BUG_ON() in reserve_bootmem() on at least one machine. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
3ea4807de7
commit
fa93895329
@ -491,7 +491,12 @@ void __init finish_device_tree(void)
|
||||
size = 16;
|
||||
finish_node(allnodes, &size, 1);
|
||||
size -= 16;
|
||||
end = start = (unsigned long) __va(lmb_alloc(size, 128));
|
||||
|
||||
if (0 == size)
|
||||
end = start = 0;
|
||||
else
|
||||
end = start = (unsigned long)__va(lmb_alloc(size, 128));
|
||||
|
||||
finish_node(allnodes, &end, 0);
|
||||
BUG_ON(end != start + size);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user