diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index 682828b94ab60ff62eab382d17ea4becf6407054..3a274468f193e8d95499a51d76f75279f206993c 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -2234,6 +2234,7 @@ int soft_offline_page(unsigned long pfn, int flags)
 	} else if (ret == 0) {
 		if (soft_offline_free_page(page) && try_again) {
 			try_again = false;
+			flags &= ~MF_COUNT_INCREASED;
 			goto retry;
 		}
 	}