]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/ia64/sn/kernel/bte_error.c
i7300_idle: struct device - replace bus_id with dev_name(), dev_set_name()
[linux-2.6-omap-h63xx.git] / arch / ia64 / sn / kernel / bte_error.c
index b6fcf8164f2b91e25fcff564255745f40a7d28ac..4cb09f3f1efc636b9090adcfd2fe80e07e278760 100644 (file)
@@ -3,7 +3,7 @@
  * License.  See the file "COPYING" in the main directory of this archive
  * for more details.
  *
- * Copyright (c) 2000-2005 Silicon Graphics, Inc.  All Rights Reserved.
+ * Copyright (c) 2000-2007 Silicon Graphics, Inc.  All Rights Reserved.
  */
 
 #include <linux/types.h>
@@ -105,7 +105,7 @@ int shub1_bte_error_handler(unsigned long _nodepda)
        }
 
        BTE_PRINTK(("eh:%p:%d Cleaning up\n", err_nodepda, smp_processor_id()));
-       /* Reenable both bte interfaces */
+       /* Re-enable both bte interfaces */
        imem.ii_imem_regval = REMOTE_HUB_L(nasid, IIO_IMEM);
        imem.ii_imem_fld_s.i_b0_esd = imem.ii_imem_fld_s.i_b1_esd = 1;
        REMOTE_HUB_S(nasid, IIO_IMEM, imem.ii_imem_regval);
@@ -148,7 +148,11 @@ int shub2_bte_error_handler(unsigned long _nodepda)
        for (i = 0; i < BTES_PER_NODE; i++) {
                bte = &err_nodepda->bte_if[i];
                status = BTE_LNSTAT_LOAD(bte);
-               if ((status & IBLS_ERROR) || !(status & IBLS_BUSY))
+               if (status & IBLS_ERROR) {
+                       bte->bh_error = BTE_SHUB2_ERROR(status);
+                       continue;
+               }
+               if (!(status & IBLS_BUSY))
                        continue;
                mod_timer(recovery_timer, jiffies + (HZ * 5));
                BTE_PRINTK(("eh:%p:%d Marked Giving up\n", err_nodepda,
@@ -243,7 +247,7 @@ bte_crb_error_handler(cnodeid_t cnode, int btenum,
 
        /*
         * The caller has already figured out the error type, we save that
-        * in the bte handle structure for the thread excercising the
+        * in the bte handle structure for the thread exercising the
         * interface to consume.
         */
        bte->bh_error = ioe->ie_errortype + BTEFAIL_OFFSET;