diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index b93c88125766ad90a95023a664bb404886f08b97..6b6362819be26bdebc831e8b545c87bdd34b666c 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -941,15 +941,15 @@ static int online_pages_range(unsigned long start_pfn, unsigned long nr_pages, * When CONFIG_MOVABLE_NODE, we permit onlining of a node which doesn't have * normal memory. */ -static bool can_online_high_movable(struct zone *zone) +static bool can_online_high_movable(int nid) { return true; } #else /* CONFIG_MOVABLE_NODE */ /* ensure every online node has NORMAL memory */ -static bool can_online_high_movable(struct zone *zone) +static bool can_online_high_movable(int nid) { - return node_state(zone_to_nid(zone), N_NORMAL_MEMORY); + return node_state(nid, N_NORMAL_MEMORY); } #endif /* CONFIG_MOVABLE_NODE */ @@ -1083,7 +1083,7 @@ int __ref online_pages(unsigned long pfn, unsigned long nr_pages, int online_typ if ((zone_idx(zone) > ZONE_NORMAL || online_type == MMOP_ONLINE_MOVABLE) && - !can_online_high_movable(zone)) + !can_online_high_movable(pfn_to_nid(pfn))) return -EINVAL; if (online_type == MMOP_ONLINE_KERNEL) {