openrisc: fix virt_addr_valid
Jonas Bonn [Fri, 2 Mar 2012 06:56:09 +0000 (07:56 +0100)]
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>

arch/openrisc/include/asm/page.h

index b041b34..c4ffaee 100644 (file)
@@ -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__ */