|
|
@@ -1569,13 +1569,12 @@ static int soft_offline_huge_page(struct page *page, int flags)
|
|
|
unlock_page(hpage);
|
|
|
|
|
|
ret = isolate_huge_page(hpage, &pagelist);
|
|
|
- if (ret) {
|
|
|
- /*
|
|
|
- * get_any_page() and isolate_huge_page() takes a refcount each,
|
|
|
- * so need to drop one here.
|
|
|
- */
|
|
|
- put_page(hpage);
|
|
|
- } else {
|
|
|
+ /*
|
|
|
+ * get_any_page() and isolate_huge_page() takes a refcount each,
|
|
|
+ * so need to drop one here.
|
|
|
+ */
|
|
|
+ put_page(hpage);
|
|
|
+ if (!ret) {
|
|
|
pr_info("soft offline: %#lx hugepage failed to isolate\n", pfn);
|
|
|
return -EBUSY;
|
|
|
}
|