Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751703AbbHGJLI (ORCPT ); Fri, 7 Aug 2015 05:11:08 -0400 Received: from bear.ext.ti.com ([192.94.94.41]:51166 "EHLO bear.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750949AbbHGJLE (ORCPT ); Fri, 7 Aug 2015 05:11:04 -0400 Message-ID: <55C47621.3070304@ti.com> Date: Fri, 7 Aug 2015 12:10:57 +0300 From: Roger Quadros User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-Version: 1.0 To: Tomeu Vizoso , , Tony Lindgren CC: Javier Martinez Canillas , Subject: Re: [PATCH] memory: omap-gpmc: Don't try to save the GPMC context References: <1438777455-28009-1-git-send-email-tomeu.vizoso@collabora.com> In-Reply-To: <1438777455-28009-1-git-send-email-tomeu.vizoso@collabora.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3569 Lines: 82 On 05/08/15 15:24, Tomeu Vizoso wrote: > ...if there isn't one already. > > If for some reason the GPMC device hasn't been probed yet, gpmc_base is > going to be NULL. Because there's no context yet to be saved, just turn > these functions into no-ops until that device gets probed. > > Unable to handle kernel NULL pointer dereference at virtual address 00000010 > pgd = c0204000 > [00000010] *pgd=00000000 > Internal error: Oops: 5 [#1] SMP ARM > Modules linked in: > CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.2.0-rc5-next-20150804-05947-g23f38fe8eda9 #1 > Hardware name: Generic OMAP3-GP (Flattened Device Tree) > task: c0e623e8 ti: c0e5c000 task.ti: c0e5c000 > PC is at omap3_gpmc_save_context+0x8/0xc4 > LR is at omap_sram_idle+0x154/0x23c > pc : [] lr : [] psr: 60000193 > sp : c0e5df40 ip : c0f92a80 fp : c0999eb0 > r10: c0e57364 r9 : c0e66f14 r8 : 00000003 > r7 : 00000000 r6 : 00000003 r5 : 00000000 r4 : c0f5f174 > r3 : c0fa4fe8 r2 : 00000000 r1 : 00000000 r0 : fa200280 > Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel > Control: 10c5387d Table: 80204019 DAC: 00000015 > Process swapper/0 (pid: 0, stack limit = 0xc0e5c220) > Stack: (0xc0e5df40 to 0xc0e5e000) > df40: 00000000 c0e66ef8 c0f5f1a4 00000000 00000003 c02333a4 c3813822 00000000 > df60: 00000000 c0e5a5c8 cfb8a5d0 c07f0c44 0e4f1d7e 00000000 00000000 00000000 > df80: c3813822 00000000 cfb8a5d0 c0e5e4e4 cfb8a5d0 c0e66f14 c0e5a5c8 c0e5e54c > dfa0: c0e5e544 c0e57364 c0999eb0 c0277758 000000fa c0f5d000 00000000 c0d61c18 > dfc0: ffffffff ffffffff 00000000 c0d61674 00000000 c0df7a48 00000000 c0f5d5d4 > dfe0: c0e5e4c0 c0df7a44 c0e634f8 80204059 00000000 8020807c 00000000 00000000 > [] (omap3_gpmc_save_context) from [] (omap_sram_idle+0x154/0x23c) > [] (omap_sram_idle) from [] (omap3_enter_idle_bm+0xec/0x1a8) > [] (omap3_enter_idle_bm) from [] (cpuidle_enter_state+0xbc/0x284) > [] (cpuidle_enter_state) from [] (cpu_startup_entry+0x174/0x24c) > [] (cpu_startup_entry) from [] (start_kernel+0x358/0x3c0) > [] (start_kernel) from [<8020807c>] (0x8020807c) > Code: c0ccace8 c0ccacc0 e59f30b4 e5932000 (e5921010) > > Signed-off-by: Tomeu Vizoso > Suggested-by: Javier Martinez Canillas Acked-by: Roger Quadros cheers, -roger > --- > drivers/memory/omap-gpmc.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/memory/omap-gpmc.c b/drivers/memory/omap-gpmc.c > index 3a27a84ad3ec..9426276dbe14 100644 > --- a/drivers/memory/omap-gpmc.c > +++ b/drivers/memory/omap-gpmc.c > @@ -2245,6 +2245,9 @@ void omap3_gpmc_save_context(void) > { > int i; > > + if (!gpmc_base) > + return; > + > gpmc_context.sysconfig = gpmc_read_reg(GPMC_SYSCONFIG); > gpmc_context.irqenable = gpmc_read_reg(GPMC_IRQENABLE); > gpmc_context.timeout_ctrl = gpmc_read_reg(GPMC_TIMEOUT_CONTROL); > @@ -2277,6 +2280,9 @@ void omap3_gpmc_restore_context(void) > { > int i; > > + if (!gpmc_base) > + return; > + > gpmc_write_reg(GPMC_SYSCONFIG, gpmc_context.sysconfig); > gpmc_write_reg(GPMC_IRQENABLE, gpmc_context.irqenable); > gpmc_write_reg(GPMC_TIMEOUT_CONTROL, gpmc_context.timeout_ctrl); > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/