diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index 32351ec32048229792ae3395a902ae0bcb57bdc4..c69217c07faa3799956b0a63a4ce2f58f5d29c3e 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -1366,7 +1366,7 @@ int unpoison_memory(unsigned long pfn)
 			return 0;
 		}
 		if (TestClearPageHWPoison(p))
-			atomic_long_sub(nr_pages, &num_poisoned_pages);
+			atomic_long_dec(&num_poisoned_pages);
 		pr_info("MCE: Software-unpoisoned free page %#lx\n", pfn);
 		return 0;
 	}