Skip to contentSkip to conversation

Fix cpm_dpram_addr returning phys mem instead of virt mem

PATCH New Jochen Friedrich 1 participant 1 message Sep 24, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 2/4 Fix cpm_dpram_addr returning phys mem instead of virt mem

cpm_dpram_addr returns physical memory of the DP RAM instead of iomapped virtual memory. As there usually is a 1:1 MMU map of the IMMR area, this is often not noticed. However, cpm_dpram_phys assumes this iomapped virtual memory and returns garbage on the 1:1 mapped memory causing CPM1 uart console to fail.

This patch fixes the problem (copied from the powerpc tree).

---
arch/ppc/8xx_io/commproc.c | 2 +-

1 files changed, 1 insertions(+), 1 deletions(-)
arch/ppc/8xx_io/commproc.c +1 -1
index 7088428..9da880b 100644
@@ -459,7 +459,7 @@ EXPORT_SYMBOL(cpm_dpdump);
 
 void *cpm_dpram_addr(unsigned long offset)
 {
-	return ((immap_t *)IMAP_ADDR)->im_cpm.cp_dpmem + offset;
+	return (void *)(dpram_vbase + offset);
 }
 EXPORT_SYMBOL(cpm_dpram_addr);