diff options
Diffstat (limited to 'mm/memblock.c')
-rw-r--r-- | mm/memblock.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/mm/memblock.c b/mm/memblock.c index 0ab30d0185bc..068e147695ee 100644 --- a/mm/memblock.c +++ b/mm/memblock.c | |||
@@ -858,11 +858,14 @@ static int __init_memblock memblock_setclr_flag(phys_addr_t base, | |||
858 | if (ret) | 858 | if (ret) |
859 | return ret; | 859 | return ret; |
860 | 860 | ||
861 | for (i = start_rgn; i < end_rgn; i++) | 861 | for (i = start_rgn; i < end_rgn; i++) { |
862 | struct memblock_region *r = &type->regions[i]; | ||
863 | |||
862 | if (set) | 864 | if (set) |
863 | memblock_set_region_flags(&type->regions[i], flag); | 865 | r->flags |= flag; |
864 | else | 866 | else |
865 | memblock_clear_region_flags(&type->regions[i], flag); | 867 | r->flags &= ~flag; |
868 | } | ||
866 | 869 | ||
867 | memblock_merge_regions(type); | 870 | memblock_merge_regions(type); |
868 | return 0; | 871 | return 0; |