[PATCH] fix SGI Altix tioce_reserve_m32() bug

From: Mike Habeck <habeck_at_sgi.com>
Date: 2006-04-27 03:05:50
The following patch fixes a bug in the SGI Altix tioce_reserve_m32()
code.  The bug was that we could walking past the end of the CE ASIC
32/40bit PMU ATE Buffer, resulting in a PIO Reply Error.

This patch is based off the aegl/linux-2.6.git tree

Signed-off-by: Mike Habeck <habeck@sgi.com>


Index: ce_dev/arch/ia64/sn/pci/tioce_provider.c
===================================================================
--- ce_dev.orig/arch/ia64/sn/pci/tioce_provider.c	2006-04-25 16:30:54.000000000 -0500
+++ ce_dev/arch/ia64/sn/pci/tioce_provider.c	2006-04-25 16:59:39.305931828 -0500
@@ -682,9 +682,6 @@
 	int ate_index, last_ate, ps;
 	struct tioce *ce_mmr;
 
-	if (!TIOCE_M32_ADDR(base))
-		return;
-
 	ce_mmr = (struct tioce *)ce_kern->ce_common->ce_pcibus.bs_base;
 	ps = ce_kern->ce_ate3240_pagesize;
 	ate_index = ATE_PAGE(base, ps);
@@ -692,6 +689,9 @@
 
 	if (ate_index < 64)
 		ate_index = 64;
+
+	if (last_ate >= TIOCE_NUM_M3240_ATES)
+		last_ate = TIOCE_NUM_M3240_ATES - 1;
 
 	while (ate_index <= last_ate) {
 		u64 ate;
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Thu Apr 27 03:06:28 2006

This archive was generated by hypermail 2.1.8 : 2006-04-27 03:06:43 EST