Skip to content

Commit bacf9c3

Browse files
yhuang-intelakpm00
authored andcommitted
resource: make alloc_free_mem_region() works for iomem_resource
During developing a kunit test case for region_intersects(), some fake resources need to be inserted into iomem_resource. To do that, a resource hole needs to be found first in iomem_resource. However, alloc_free_mem_region() cannot work for iomem_resource now. Because the start address to check cannot be 0 to detect address wrapping 0 in gfr_continue(), while iomem_resource.start == 0. To make alloc_free_mem_region() works for iomem_resource, gfr_start() is changed to avoid to return 0 even if base->start == 0. We don't need to check 0 as start address. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: "Huang, Ying" <[email protected]> Cc: Dan Williams <[email protected]> Cc: David Hildenbrand <[email protected]> Cc: Davidlohr Bueso <[email protected]> Cc: Jonathan Cameron <[email protected]> Cc: Dave Jiang <[email protected]> Cc: Alison Schofield <[email protected]> Cc: Vishal Verma <[email protected]> Cc: Ira Weiny <[email protected]> Cc: Alistair Popple <[email protected]> Cc: Andy Shevchenko <[email protected]> Cc: Bjorn Helgaas <[email protected]> Cc: Baoquan He <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
1 parent 7a2369b commit bacf9c3

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

kernel/resource.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1830,7 +1830,7 @@ static resource_size_t gfr_start(struct resource *base, resource_size_t size,
18301830
return end - size + 1;
18311831
}
18321832

1833-
return ALIGN(base->start, align);
1833+
return ALIGN(max(base->start, align), align);
18341834
}
18351835

18361836
static bool gfr_continue(struct resource *base, resource_size_t addr,

0 commit comments

Comments
 (0)