mirror of
https://github.com/torvalds/linux.git
synced 2026-09-15 15:01:08 -04:00
[IA64-SGI] Check for TIO errors on shub2 Altix
The shub2 error interrupt handler must check for TIO errors. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
* License. See the file "COPYING" in the main directory of this archive
|
* License. See the file "COPYING" in the main directory of this archive
|
||||||
* for more details.
|
* 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>
|
#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);
|
(u64) nasid, 0, 0, 0, 0, 0, 0);
|
||||||
|
|
||||||
if ((int)ret_stuff.v0)
|
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 */
|
if (!(nasid & 1)) /* Not a TIO, handle CRB errors */
|
||||||
(void)hubiio_crb_error_handler(hubdev_info);
|
(void)hubiio_crb_error_handler(hubdev_info);
|
||||||
} else
|
} else
|
||||||
bte_error_handler((unsigned long)NODEPDA(nasid_to_cnodeid(nasid)));
|
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;
|
return IRQ_HANDLED;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user