From: Minfei Huang Date: Tue, 6 Sep 2016 08:00:29 +0000 (+0800) Subject: dm: return correct error code in dm_resume()'s retry loop X-Git-Tag: v4.9-rc1~70^2~23 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=8dc23658b7aaa8b6b0609c81c8ad75e98b612801;p=linux.git dm: return correct error code in dm_resume()'s retry loop dm_resume() will return success (0) rather than -EINVAL if !dm_suspended_md() upon retry within dm_resume(). Reset the error code at the start of dm_resume()'s retry loop. Also, remove a useless assignment at the end of dm_resume(). Fixes: ffcc393641 ("dm: enhance internal suspend and resume interface") Cc: stable@vger.kernel.org # 3.19+ Signed-off-by: Minfei Huang Signed-off-by: Mike Snitzer --- diff --git a/drivers/md/dm.c b/drivers/md/dm.c index fa9b1cb4438a..c0742129a9cb 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -2249,10 +2249,11 @@ static int __dm_resume(struct mapped_device *md, struct dm_table *map) int dm_resume(struct mapped_device *md) { - int r = -EINVAL; + int r; struct dm_table *map = NULL; retry: + r = -EINVAL; mutex_lock_nested(&md->suspend_lock, SINGLE_DEPTH_NESTING); if (!dm_suspended_md(md)) @@ -2276,8 +2277,6 @@ int dm_resume(struct mapped_device *md) goto out; clear_bit(DMF_SUSPENDED, &md->flags); - - r = 0; out: mutex_unlock(&md->suspend_lock);