Messages in this thread Patch in this message | | | Date | Mon, 08 Jun 2009 12:16:51 -0500 | From | steiner@sgi ... | Subject | [Patch 03/12] GRU - fix automatic retry of gru instruction failures |
| |
From: Jack Steiner <steiner@sgi.com>
Fix bug in automatic retry of GRU instruction failures. CBR substatus (message queue failure) was being checked incorrectly.
Signed-off-by: Jack Steiner <steiner@sgi.com>
--- drivers/misc/sgi-gru/grukservices.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
Index: linux/drivers/misc/sgi-gru/grukservices.c =================================================================== --- linux.orig/drivers/misc/sgi-gru/grukservices.c 2009-04-29 13:41:24.000000000 -0500 +++ linux/drivers/misc/sgi-gru/grukservices.c 2009-04-29 13:43:32.000000000 -0500 @@ -436,11 +436,10 @@ static int gru_retry_exception(void *cb) int retry = EXCEPTION_RETRY_LIMIT; while (1) { - if (gru_get_cb_message_queue_substatus(cb)) - break; if (gru_wait_idle_or_exception(gen) == CBS_IDLE) return CBS_IDLE; - + if (gru_get_cb_message_queue_substatus(cb)) + return CBS_EXCEPTION; gru_get_cb_exception_detail(cb, &excdet); if ((excdet.ecause & ~EXCEPTION_RETRY_BITS) || (excdet.cbrexecstatus & CBR_EXS_ABORT_OCC))
| |