From b3d85074306e0d0b7eb3802c0956cccdf8465ba1 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Tue, 10 Apr 2012 15:28:13 +0000 Subject: [PATCH] ib_srpt: Workaround for an openSUSE 12.1 compiler bug (see also http://bugzilla.novell.com/show_bug.cgi?id=756235 - merged r4201 from trunk) git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/2.2.x@4204 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- srpt/src/ib_srpt.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/srpt/src/ib_srpt.c b/srpt/src/ib_srpt.c index e72b39cbf..1bdc991e0 100644 --- a/srpt/src/ib_srpt.c +++ b/srpt/src/ib_srpt.c @@ -2014,6 +2014,7 @@ static int srpt_compl_thread(void *arg) BUG_ON(!ch); set_current_state(TASK_INTERRUPTIBLE); + barrier(); while (ch->state < CH_LIVE) { srpt_process_completion(ch->cq, ch, SCST_CONTEXT_THREAD, SCST_CONTEXT_DIRECT); @@ -2026,6 +2027,7 @@ static int srpt_compl_thread(void *arg) ch->rtu_received = true; set_current_state(TASK_INTERRUPTIBLE); + barrier(); while (!ch->last_wqe_received) { srpt_process_completion(ch->cq, ch, SCST_CONTEXT_THREAD, SCST_CONTEXT_DIRECT);