ARM: davinci: cp-intc: request the memory region before remapping it
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Thu, 14 Feb 2019 14:52:24 +0000 (15:52 +0100)
committerSekhar Nori <nsekhar@ti.com>
Tue, 19 Feb 2019 14:33:34 +0000 (20:03 +0530)
Add a missing call to request_mem_region() before calling ioremap() to
make sure it's not been requested by another user.

Reviewed-by: David Lechner <david@lechnology.com>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
arch/arm/mach-davinci/cp_intc.c

index f56a4275083f121e85d702a69ad5baa32b3de203..6ab56af3be6beafdefea7928dec5f8707555210e 100644 (file)
@@ -164,6 +164,15 @@ davinci_cp_intc_do_init(const struct davinci_cp_intc_config *config,
 {
        unsigned int num_regs = BITS_TO_LONGS(config->num_irqs);
        int offset, irq_base;
+       void __iomem *req;
+
+       req = request_mem_region(config->reg.start,
+                                resource_size(&config->reg),
+                                "davinci-cp-intc");
+       if (!req) {
+               pr_err("%s: register range busy\n", __func__);
+               return -EBUSY;
+       }
 
        davinci_cp_intc_base = ioremap(config->reg.start,
                                       resource_size(&config->reg));