diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 8062d45ee7f4e5988e4c760a12a01e9b026bd1e1..a1f00f0a66cdce69a363d80abf5542f8b48c3acc 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -3653,8 +3653,6 @@ static int mem_cgroup_force_empty_list(struct mem_cgroup *memcg,
 		pc = lookup_page_cgroup(page);
 
 		ret = mem_cgroup_move_parent(page, pc, memcg, GFP_KERNEL);
-		if (ret == -ENOMEM || ret == -EINTR)
-			break;
 
 		if (ret == -EBUSY || ret == -EINVAL) {
 			/* found lock contention or "pc" is obsolete. */
@@ -3711,9 +3709,6 @@ static int mem_cgroup_force_empty(struct mem_cgroup *memcg, bool free_all)
 		}
 		mem_cgroup_end_move(memcg);
 		memcg_oom_recover(memcg);
-		/* it seems parent cgroup doesn't have enough mem */
-		if (ret == -ENOMEM)
-			goto try_to_free;
 		cond_resched();
 	/* "ret" should also be checked to ensure all lists are empty. */
 	} while (res_counter_read_u64(&memcg->res, RES_USAGE) > 0 || ret);