|
@@ -3,7 +3,7 @@
|
|
|
* License. See the file "COPYING" in the main directory of this archive
|
|
|
* for more details.
|
|
|
*
|
|
|
- * Copyright (C) 1992 - 1997, 2000,2002-2005 Silicon Graphics, Inc. All rights reserved.
|
|
|
+ * Copyright (C) 1992 - 1997, 2000,2002-2007 Silicon Graphics, Inc. All rights reserved.
|
|
|
*/
|
|
|
|
|
|
#include <linux/types.h>
|
|
@@ -38,12 +38,20 @@ static irqreturn_t hub_eint_handler(int irq, void *arg)
|
|
|
(u64) nasid, 0, 0, 0, 0, 0, 0);
|
|
|
|
|
|
if ((int)ret_stuff.v0)
|
|
|
- panic("hubii_eint_handler(): Fatal TIO Error");
|
|
|
+ panic("%s: Fatal %s Error", __FUNCTION__,
|
|
|
+ ((nasid & 1) ? "TIO" : "HUBII"));
|
|
|
|
|
|
if (!(nasid & 1)) /* Not a TIO, handle CRB errors */
|
|
|
(void)hubiio_crb_error_handler(hubdev_info);
|
|
|
- } else
|
|
|
- bte_error_handler((unsigned long)NODEPDA(nasid_to_cnodeid(nasid)));
|
|
|
+ } else
|
|
|
+ if (nasid & 1) { /* TIO errors */
|
|
|
+ SAL_CALL_NOLOCK(ret_stuff, SN_SAL_HUB_ERROR_INTERRUPT,
|
|
|
+ (u64) nasid, 0, 0, 0, 0, 0, 0);
|
|
|
+
|
|
|
+ if ((int)ret_stuff.v0)
|
|
|
+ panic("%s: Fatal TIO Error", __FUNCTION__);
|
|
|
+ } else
|
|
|
+ bte_error_handler((unsigned long)NODEPDA(nasid_to_cnodeid(nasid)));
|
|
|
|
|
|
return IRQ_HANDLED;
|
|
|
}
|