Browse Source

arch/unicore32/mm/ioremap.c: return NULL on invalid pfn

__uc32_ioremap_pfn_caller() should return NULL when the pfn is found to be
invalid.

From a recommendation by Guan Xuetao.

Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
Cc: Fabian Frederick <fabf@skynet.be>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Andrew Morton 11 years ago
parent
commit
2accff4ef5
1 changed files with 3 additions and 1 deletions
  1. 3 1
      arch/unicore32/mm/ioremap.c

+ 3 - 1
arch/unicore32/mm/ioremap.c

@@ -143,11 +143,13 @@ void __iomem *__uc32_ioremap_pfn_caller(unsigned long pfn,
 	/*
 	/*
 	 * Don't allow RAM to be mapped
 	 * Don't allow RAM to be mapped
 	 */
 	 */
-	if (pfn_valid(pfn))
+	if (pfn_valid(pfn)) {
 		WARN(1, "BUG: Your driver calls ioremap() on\n"
 		WARN(1, "BUG: Your driver calls ioremap() on\n"
 			"system memory.  This leads to architecturally\n"
 			"system memory.  This leads to architecturally\n"
 			"unpredictable behaviour, and ioremap() will fail in\n"
 			"unpredictable behaviour, and ioremap() will fail in\n"
 			"the next kernel release. Please fix your driver.\n");
 			"the next kernel release. Please fix your driver.\n");
+		return NULL;
+	}
 
 
 	type = get_mem_type(mtype);
 	type = get_mem_type(mtype);
 	if (!type)
 	if (!type)