[PATCH] powerpc: Fix g5 DART init
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 19 Dec 2005 05:49:07 +0000 (16:49 +1100)
committerPaul Mackerras <paulus@samba.org>
Mon, 9 Jan 2006 04:05:42 +0000 (15:05 +1100)
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@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/sysdev/dart_iommu.c

index df0dbdee762a8799308aac375f8676c324f4d0ad..e00b46b9514edb3159385d87adcd986e569e8874 100644 (file)
@@ -216,12 +216,12 @@ static int dart_init(struct device_node *dart_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) |