diff options
author | Russ Anderson <rja@efs.americas.sgi.com> | 2005-12-16 17:19:01 -0600 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2006-01-13 14:06:53 -0800 |
commit | 17e8ce0e9417eee1f57f9b3d4aad168425e043c3 (patch) | |
tree | 58bae85da8cedb339d945d43191ff910501bd175 /arch/ia64/sn/kernel/huberror.c | |
parent | 8a4b7b6f187f2967bff222e8c3758ab47efdb14f (diff) |
[IA64-SGI] Altix BTE error handling fixes
Altix (shub2) pushes the BTE clean-up into SAL.
This patch correctly interfaces with the now implemented SAL call.
It also fixes a bug when delaying clean-up to allow busy BTEs to
complete (or error out).
Signed-off-by: Russ Anderson <rja@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/sn/kernel/huberror.c')
-rw-r--r-- | arch/ia64/sn/kernel/huberror.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/ia64/sn/kernel/huberror.c b/arch/ia64/sn/kernel/huberror.c index 5c5eb01c50f..56ab6bae00e 100644 --- a/arch/ia64/sn/kernel/huberror.c +++ b/arch/ia64/sn/kernel/huberror.c @@ -32,13 +32,14 @@ static irqreturn_t hub_eint_handler(int irq, void *arg, struct pt_regs *ep) ret_stuff.v0 = 0; hubdev_info = (struct hubdev_info *)arg; nasid = hubdev_info->hdi_nasid; - SAL_CALL_NOLOCK(ret_stuff, SN_SAL_HUB_ERROR_INTERRUPT, + + if (is_shub1()) { + SAL_CALL_NOLOCK(ret_stuff, SN_SAL_HUB_ERROR_INTERRUPT, (u64) nasid, 0, 0, 0, 0, 0, 0); - if ((int)ret_stuff.v0) - panic("hubii_eint_handler(): Fatal TIO Error"); + if ((int)ret_stuff.v0) + panic("hubii_eint_handler(): Fatal TIO Error"); - if (is_shub1()) { if (!(nasid & 1)) /* Not a TIO, handle CRB errors */ (void)hubiio_crb_error_handler(hubdev_info); } else |