|
@@ -183,7 +183,8 @@ int __init cma_init_reserved_mem(phys_addr_t base, phys_addr_t size,
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
/* ensure minimal alignment required by mm core */
|
|
/* ensure minimal alignment required by mm core */
|
|
- alignment = PAGE_SIZE << max(MAX_ORDER - 1, pageblock_order);
|
|
|
|
|
|
+ alignment = PAGE_SIZE <<
|
|
|
|
+ max_t(unsigned long, MAX_ORDER - 1, pageblock_order);
|
|
|
|
|
|
/* alignment should be aligned with order_per_bit */
|
|
/* alignment should be aligned with order_per_bit */
|
|
if (!IS_ALIGNED(alignment >> PAGE_SHIFT, 1 << order_per_bit))
|
|
if (!IS_ALIGNED(alignment >> PAGE_SHIFT, 1 << order_per_bit))
|
|
@@ -266,8 +267,8 @@ int __init cma_declare_contiguous(phys_addr_t base,
|
|
* migratetype page by page allocator's buddy algorithm. In the case,
|
|
* migratetype page by page allocator's buddy algorithm. In the case,
|
|
* you couldn't get a contiguous memory, which is not what we want.
|
|
* you couldn't get a contiguous memory, which is not what we want.
|
|
*/
|
|
*/
|
|
- alignment = max(alignment,
|
|
|
|
- (phys_addr_t)PAGE_SIZE << max(MAX_ORDER - 1, pageblock_order));
|
|
|
|
|
|
+ alignment = max(alignment, (phys_addr_t)PAGE_SIZE <<
|
|
|
|
+ max_t(unsigned long, MAX_ORDER - 1, pageblock_order));
|
|
base = ALIGN(base, alignment);
|
|
base = ALIGN(base, alignment);
|
|
size = ALIGN(size, alignment);
|
|
size = ALIGN(size, alignment);
|
|
limit &= ~(alignment - 1);
|
|
limit &= ~(alignment - 1);
|