From: Milan Broz <mbroz@redhat.com>
Date: Fri, 8 Feb 2008 02:09:49 +0000 (+0000)
Subject: dm: add missing memory barrier to dm_suspend
X-Git-Tag: firefly_0821_release~22773^2~43
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7e5c1e830b2310359a4cfbbf89895dde4abd996a;p=firefly-linux-kernel-4.4.55.git

dm: add missing memory barrier to dm_suspend

Add memory barrier to fix atomic_read of pending value.

Signed-off-by: Milan Broz <mbroz@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
---

diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index f2d24eb3208c..466a6bf0742f 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1410,6 +1410,7 @@ int dm_suspend(struct mapped_device *md, unsigned suspend_flags)
 	while (1) {
 		set_current_state(TASK_INTERRUPTIBLE);
 
+		smp_mb();
 		if (!atomic_read(&md->pending) || signal_pending(current))
 			break;