Commit d6e2fbce authored by Jack Steiner's avatar Jack Steiner Committed by Linus Torvalds

gru: fix automatic retry of gru instruction failures

Fix bug in automatic retry of GRU instruction failures.  CBR substatus
(message queue failure) was being checked incorrectly.
Signed-off-by: default avatarJack Steiner <steiner@sgi.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent d5826dd6
...@@ -436,11 +436,10 @@ static int gru_retry_exception(void *cb) ...@@ -436,11 +436,10 @@ static int gru_retry_exception(void *cb)
int retry = EXCEPTION_RETRY_LIMIT; int retry = EXCEPTION_RETRY_LIMIT;
while (1) { while (1) {
if (gru_get_cb_message_queue_substatus(cb))
break;
if (gru_wait_idle_or_exception(gen) == CBS_IDLE) if (gru_wait_idle_or_exception(gen) == CBS_IDLE)
return CBS_IDLE; return CBS_IDLE;
if (gru_get_cb_message_queue_substatus(cb))
return CBS_EXCEPTION;
gru_get_cb_exception_detail(cb, &excdet); gru_get_cb_exception_detail(cb, &excdet);
if ((excdet.ecause & ~EXCEPTION_RETRY_BITS) || if ((excdet.ecause & ~EXCEPTION_RETRY_BITS) ||
(excdet.cbrexecstatus & CBR_EXS_ABORT_OCC)) (excdet.cbrexecstatus & CBR_EXS_ABORT_OCC))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment