diff options
| -rw-r--r-- | kernel/resource.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/resource.c b/kernel/resource.c index 35fe105d581e..e7f9d2a5db25 100644 --- a/kernel/resource.c +++ b/kernel/resource.c | |||
| @@ -454,6 +454,9 @@ int walk_mem_res(u64 start, u64 end, void *arg, | |||
| 454 | * This function calls the @func callback against all memory ranges of type | 454 | * This function calls the @func callback against all memory ranges of type |
| 455 | * System RAM which are marked as IORESOURCE_SYSTEM_RAM and IORESOUCE_BUSY. | 455 | * System RAM which are marked as IORESOURCE_SYSTEM_RAM and IORESOUCE_BUSY. |
| 456 | * It is to be used only for System RAM. | 456 | * It is to be used only for System RAM. |
| 457 | * | ||
| 458 | * This will find System RAM ranges that are children of top-level resources | ||
| 459 | * in addition to top-level System RAM resources. | ||
| 457 | */ | 460 | */ |
| 458 | int walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages, | 461 | int walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages, |
| 459 | void *arg, int (*func)(unsigned long, unsigned long, void *)) | 462 | void *arg, int (*func)(unsigned long, unsigned long, void *)) |
| @@ -469,7 +472,7 @@ int walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages, | |||
| 469 | flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; | 472 | flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY; |
| 470 | while (start < end && | 473 | while (start < end && |
| 471 | !find_next_iomem_res(start, end, flags, IORES_DESC_NONE, | 474 | !find_next_iomem_res(start, end, flags, IORES_DESC_NONE, |
| 472 | true, &res)) { | 475 | false, &res)) { |
| 473 | pfn = (res.start + PAGE_SIZE - 1) >> PAGE_SHIFT; | 476 | pfn = (res.start + PAGE_SIZE - 1) >> PAGE_SHIFT; |
| 474 | end_pfn = (res.end + 1) >> PAGE_SHIFT; | 477 | end_pfn = (res.end + 1) >> PAGE_SHIFT; |
| 475 | if (end_pfn > pfn) | 478 | if (end_pfn > pfn) |
