|
@@ -1575,7 +1575,7 @@ static int get_any_page(struct page *page, unsigned long pfn, int flags)
|
|
* Did it turn free?
|
|
* Did it turn free?
|
|
*/
|
|
*/
|
|
ret = __get_any_page(page, pfn, 0);
|
|
ret = __get_any_page(page, pfn, 0);
|
|
- if (!PageLRU(page)) {
|
|
|
|
|
|
+ if (ret == 1 && !PageLRU(page)) {
|
|
/* Drop page reference which is from __get_any_page() */
|
|
/* Drop page reference which is from __get_any_page() */
|
|
put_hwpoison_page(page);
|
|
put_hwpoison_page(page);
|
|
pr_info("soft_offline: %#lx: unknown non LRU page type %lx\n",
|
|
pr_info("soft_offline: %#lx: unknown non LRU page type %lx\n",
|