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>
This commit is contained in:
Andrew Morton 2014-06-04 16:05:54 -07:00 committed by Linus Torvalds
parent acc8a1c005
commit 2accff4ef5
1 changed files with 3 additions and 1 deletions

View File

@ -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)