Browse Source

openrisc: fix virt_addr_valid

virt_addr_valid() shouldn't be comparing the address to memory_end which is
a phys_addr_t.  Change this to do like other arches and check that the
address falls within a valid page frame.

Signed-off-by: Jonas Bonn <jonas@southpole.se>
Jonas Bonn 13 years ago
parent
commit
2f099a280e
1 changed files with 1 additions and 2 deletions
  1. 1 2
      arch/openrisc/include/asm/page.h

+ 1 - 2
arch/openrisc/include/asm/page.h

@@ -94,8 +94,7 @@ extern unsigned long memory_end;
 
 #define pfn_valid(pfn)          ((pfn) < max_mapnr)
 
-#define virt_addr_valid(kaddr)  (((void *)(kaddr) >= (void *)PAGE_OFFSET) && \
-				((void *)(kaddr) < (void *)memory_end))
+#define virt_addr_valid(kaddr)	(pfn_valid(virt_to_pfn(kaddr)))
 
 #endif /* __ASSEMBLY__ */