aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan Broz <mbroz@redhat.com>2008-02-07 21:09:49 -0500
committerAlasdair G Kergon <agk@redhat.com>2008-02-07 21:09:49 -0500
commit7e5c1e830b2310359a4cfbbf89895dde4abd996a (patch)
tree143d5ff1998b115689347f0346a25b622a888739
parentdf922075f2a55b1ae71a6fe589c1cc1b91381f4f (diff)
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>
-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 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)
1410 while (1) { 1410 while (1) {
1411 set_current_state(TASK_INTERRUPTIBLE); 1411 set_current_state(TASK_INTERRUPTIBLE);
1412 1412
1413 smp_mb();
1413 if (!atomic_read(&md->pending) || signal_pending(current)) 1414 if (!atomic_read(&md->pending) || signal_pending(current))
1414 break; 1415 break;
1415 1416