diff options
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/kernel/prom.c | 3 | ||||
-rw-r--r-- | arch/powerpc/mm/lmb.c | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index 8d52b23348bd..15ece3abfb37 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c | |||
@@ -954,9 +954,6 @@ static void __init early_reserve_mem(void) | |||
954 | size = *(reserve_map++); | 954 | size = *(reserve_map++); |
955 | if (size == 0) | 955 | if (size == 0) |
956 | break; | 956 | break; |
957 | /* skip if the reservation is for the blob */ | ||
958 | if (base == self_base && size == self_size) | ||
959 | continue; | ||
960 | DBG("reserving: %llx -> %llx\n", base, size); | 957 | DBG("reserving: %llx -> %llx\n", base, size); |
961 | lmb_reserve(base, size); | 958 | lmb_reserve(base, size); |
962 | } | 959 | } |
diff --git a/arch/powerpc/mm/lmb.c b/arch/powerpc/mm/lmb.c index 716a2906a24d..e3a1e8dc536a 100644 --- a/arch/powerpc/mm/lmb.c +++ b/arch/powerpc/mm/lmb.c | |||
@@ -146,6 +146,10 @@ static long __init lmb_add_region(struct lmb_region *rgn, unsigned long base, | |||
146 | unsigned long rgnbase = rgn->region[i].base; | 146 | unsigned long rgnbase = rgn->region[i].base; |
147 | unsigned long rgnsize = rgn->region[i].size; | 147 | unsigned long rgnsize = rgn->region[i].size; |
148 | 148 | ||
149 | if ((rgnbase == base) && (rgnsize == size)) | ||
150 | /* Already have this region, so we're done */ | ||
151 | return 0; | ||
152 | |||
149 | adjacent = lmb_addrs_adjacent(base,size,rgnbase,rgnsize); | 153 | adjacent = lmb_addrs_adjacent(base,size,rgnbase,rgnsize); |
150 | if ( adjacent > 0 ) { | 154 | if ( adjacent > 0 ) { |
151 | rgn->region[i].base -= size; | 155 | rgn->region[i].base -= size; |