提交 d6e2fbce 编写于 作者: J Jack Steiner 提交者: 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: NJack Steiner <steiner@sgi.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册