[PATCH] powerpc: Fix g5 DART init

Benjamin Herrenschmidt benh at kernel.crashing.org
Mon Dec 19 16:49:07 EST 2005


The patch enabling the new G5's with U4 broke initialization of the DART
driver, causing it to trigger a BUG_ON for a case that is actually
valid. This patch fixes it:

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>


Index: linux-work/arch/powerpc/sysdev/dart_iommu.c
===================================================================
--- linux-work.orig/arch/powerpc/sysdev/dart_iommu.c	2005-12-19 16:13:38.000000000 +1100
+++ linux-work/arch/powerpc/sysdev/dart_iommu.c	2005-12-19 16:20:43.000000000 +1100
@@ -216,12 +216,12 @@ static int dart_init(struct device_node 
 	base = dart_tablebase >> DART_PAGE_SHIFT;
 	size = dart_tablesize >> DART_PAGE_SHIFT;
 	if (dart_is_u4) {
-		BUG_ON(size & ~DART_SIZE_U4_SIZE_MASK);
+		size &= DART_SIZE_U4_SIZE_MASK;
 		DART_OUT(DART_BASE_U4, base);
 		DART_OUT(DART_SIZE_U4, size);
 		DART_OUT(DART_CNTL, DART_CNTL_U4_ENABLE);
 	} else {
-		BUG_ON(size & ~DART_CNTL_U3_SIZE_MASK);
+		size &= DART_CNTL_U3_SIZE_MASK;
 		DART_OUT(DART_CNTL,
 			 DART_CNTL_U3_ENABLE |
 			 (base << DART_CNTL_U3_BASE_SHIFT) |





More information about the Linuxppc64-dev mailing list