[PATCH] ARM: Handle empty maps in iotable_init()
From: Mark Brown <hidden>
Date: 2011-11-24 12:47:59
Subsystem:
arm port, the rest · Maintainers:
Russell King, Linus Torvalds
From: Mark Brown <hidden>
Date: 2011-11-24 12:47:59
Subsystem:
arm port, the rest · Maintainers:
Russell King, Linus Torvalds
Some CPUs (such as the S3C6410) have been relying on being able to call iotable_init() with no io_descs in order to simplify passing through machine-specific io_descs. The changes in "ARM: move iotable mappings within the vmalloc region" broke this by adding an early_alloc_aligned() for an array of vm_structs. Fix this by returning early if no descriptors have been passed. I'm not sure if this is the most tasteful fix but it preserves existing behaviour and allows boot to proceed on my system. Signed-off-by: Mark Brown <redacted> --- arch/arm/mm/mmu.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index c05315b..d842a57 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c@@ -763,6 +763,9 @@ void __init iotable_init(struct map_desc *io_desc, int nr) struct map_desc *md; struct vm_struct *vm; + if (!nr) + return; + vm = early_alloc_aligned(sizeof(*vm) * nr, __alignof__(*vm)); for (md = io_desc; nr; md++, nr--) {
--
1.7.7.3