diff options
| -rw-r--r-- | arch/x86/kernel/e820.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index ce97bf3bed12..7aafeb5263ef 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c | |||
| @@ -1290,15 +1290,17 @@ void __init e820_reserve_resources(void) | |||
| 1290 | res->start = e820.map[i].addr; | 1290 | res->start = e820.map[i].addr; |
| 1291 | res->end = end; | 1291 | res->end = end; |
| 1292 | 1292 | ||
| 1293 | res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; | 1293 | res->flags = IORESOURCE_MEM; |
| 1294 | 1294 | ||
| 1295 | /* | 1295 | /* |
| 1296 | * don't register the region that could be conflicted with | 1296 | * don't register the region that could be conflicted with |
| 1297 | * pci device BAR resource and insert them later in | 1297 | * pci device BAR resource and insert them later in |
| 1298 | * pcibios_resource_survey() | 1298 | * pcibios_resource_survey() |
| 1299 | */ | 1299 | */ |
| 1300 | if (e820.map[i].type != E820_RESERVED || res->start < (1ULL<<20)) | 1300 | if (e820.map[i].type != E820_RESERVED || res->start < (1ULL<<20)) { |
| 1301 | res->flags |= IORESOURCE_BUSY; | ||
| 1301 | insert_resource(&iomem_resource, res); | 1302 | insert_resource(&iomem_resource, res); |
| 1303 | } | ||
| 1302 | res++; | 1304 | res++; |
| 1303 | } | 1305 | } |
| 1304 | 1306 | ||
| @@ -1318,7 +1320,7 @@ void __init e820_reserve_resources_late(void) | |||
| 1318 | res = e820_res; | 1320 | res = e820_res; |
| 1319 | for (i = 0; i < e820.nr_map; i++) { | 1321 | for (i = 0; i < e820.nr_map; i++) { |
| 1320 | if (!res->parent && res->end) | 1322 | if (!res->parent && res->end) |
| 1321 | reserve_region_with_split(&iomem_resource, res->start, res->end, res->name); | 1323 | insert_resource_expand_to_fit(&iomem_resource, res); |
| 1322 | res++; | 1324 | res++; |
| 1323 | } | 1325 | } |
| 1324 | } | 1326 | } |
