diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index d8cdb98e90007b81685fae5650ded37c7c4443b4..721ea129f3f6e82e385bb799f1818da3e8b5d39a 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -1758,12 +1758,12 @@ static int __ref __offline_pages(unsigned long start_pfn, failed_removal_isolated: undo_isolate_page_range(start_pfn, end_pfn, MIGRATE_MOVABLE); + memory_notify(MEM_CANCEL_OFFLINE, &arg); failed_removal: pr_debug("memory offlining [mem %#010llx-%#010llx] failed due to %s\n", (unsigned long long) start_pfn << PAGE_SHIFT, ((unsigned long long) end_pfn << PAGE_SHIFT) - 1, reason); - memory_notify(MEM_CANCEL_OFFLINE, &arg); /* pushback to free area */ mem_hotplug_done(); return ret;