--- /dev/null
+From 9d5a09c6f3b5fb85af20e3a34827b5d27d152b34 Mon Sep 17 00:00:00 2001
+From: Gao Xiang <xiang@kernel.org>
+Date: Wed, 26 Feb 2020 16:10:06 +0800
+Subject: erofs: correct the remaining shrink objects
+
+From: Gao Xiang <gaoxiang25@huawei.com>
+
+commit 9d5a09c6f3b5fb85af20e3a34827b5d27d152b34 upstream.
+
+The remaining count should not include successful
+shrink attempts.
+
+Fixes: e7e9a307be9d ("staging: erofs: introduce workstation for decompression")
+Cc: <stable@vger.kernel.org> # 4.19+
+Link: https://lore.kernel.org/r/20200226081008.86348-1-gaoxiang25@huawei.com
+Reviewed-by: Chao Yu <yuchao0@huawei.com>
+Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+
+---
+ drivers/staging/erofs/utils.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/staging/erofs/utils.c
++++ b/drivers/staging/erofs/utils.c
+@@ -309,7 +309,7 @@ unsigned long erofs_shrink_scan(struct s
+ sbi->shrinker_run_no = run_no;
+
+ #ifdef CONFIG_EROFS_FS_ZIP
+- freed += erofs_shrink_workstation(sbi, nr, false);
++ freed += erofs_shrink_workstation(sbi, nr - freed, false);
+ #endif
+
+ spin_lock(&erofs_sb_list_lock);