From: Benjamin Herrenschmidt Date: Mon, 19 Dec 2005 05:49:07 +0000 (+1100) Subject: [PATCH] powerpc: Fix g5 DART init X-Git-Tag: v2.6.16-rc1~666^2~44 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=56c8eaee65d688b526c12dca54a30276335679e5;p=linux-2.6 [PATCH] powerpc: Fix g5 DART init 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 Signed-off-by: Paul Mackerras --- diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c index df0dbdee76..e00b46b951 100644 --- a/arch/powerpc/sysdev/dart_iommu.c +++ b/arch/powerpc/sysdev/dart_iommu.c @@ -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) |