aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md
diff options
context:
space:
mode:
authorMilan Broz <mbroz@redhat.com>2008-02-08 02:09:49 +0000
committerAlasdair G Kergon <agk@redhat.com>2008-02-08 02:09:49 +0000
commit7e5c1e830b2310359a4cfbbf89895dde4abd996a (patch)
tree143d5ff1998b115689347f0346a25b622a888739 /drivers/md
parentdf922075f2a55b1ae71a6fe589c1cc1b91381f4f (diff)
downloadkernel_samsung_aries-7e5c1e830b2310359a4cfbbf89895dde4abd996a.zip
kernel_samsung_aries-7e5c1e830b2310359a4cfbbf89895dde4abd996a.tar.gz
kernel_samsung_aries-7e5c1e830b2310359a4cfbbf89895dde4abd996a.tar.bz2
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>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/dm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index f2d24eb..466a6bf 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;