From: Santosh Shilimkar <santosh.shilimkar@ti.com> To: linux-omap@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, Todd Poynor <toddpoynor@google.com>, sricharan <r.sricharan@ti.com>, Santosh Shilimkar <santosh.shilimkar@ti.com> Subject: [PATCH 3/8] OMAP: Fix a BUG in l3 error handler. Date: Thu, 8 Sep 2011 10:52:02 +0530 [thread overview] Message-ID: <1315459327-3285-4-git-send-email-santosh.shilimkar@ti.com> (raw) In-Reply-To: <1315459327-3285-1-git-send-email-santosh.shilimkar@ti.com> From: Todd Poynor <toddpoynor@google.com> With the current sequence of registering the irq and assigning it to the app_irq, debug_irq driver variables, there can be corner cases where the pending irq gets triggered immediately after registering, handler gets called resulting in a crash. So changed this sequence. Signed-off-by: sricharan <r.sricharan@ti.com> Signed-off-by: Todd Poynor <toddpoynor@google.com> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> --- arch/arm/mach-omap2/omap_l3_noc.c | 12 +++++------- 1 files changed, 5 insertions(+), 7 deletions(-) diff --git a/arch/arm/mach-omap2/omap_l3_noc.c b/arch/arm/mach-omap2/omap_l3_noc.c index d560c88..cf237dd 100644 --- a/arch/arm/mach-omap2/omap_l3_noc.c +++ b/arch/arm/mach-omap2/omap_l3_noc.c @@ -124,7 +124,7 @@ static int __init omap4_l3_probe(struct platform_device *pdev) { static struct omap4_l3 *l3; struct resource *res; - int ret, irq; + int ret; l3 = kzalloc(sizeof(*l3), GFP_KERNEL); if (!l3) @@ -176,8 +176,8 @@ static int __init omap4_l3_probe(struct platform_device *pdev) /* * Setup interrupt Handlers */ - irq = platform_get_irq(pdev, 0); - ret = request_irq(irq, + l3->debug_irq = platform_get_irq(pdev, 0); + ret = request_irq(l3->debug_irq, l3_interrupt_handler, IRQF_DISABLED, "l3-dbg-irq", l3); if (ret) { @@ -185,10 +185,9 @@ static int __init omap4_l3_probe(struct platform_device *pdev) OMAP44XX_IRQ_L3_DBG); goto err3; } - l3->debug_irq = irq; - irq = platform_get_irq(pdev, 1); - ret = request_irq(irq, + l3->app_irq = platform_get_irq(pdev, 1); + ret = request_irq(l3->app_irq, l3_interrupt_handler, IRQF_DISABLED, "l3-app-irq", l3); if (ret) { @@ -196,7 +195,6 @@ static int __init omap4_l3_probe(struct platform_device *pdev) OMAP44XX_IRQ_L3_APP); goto err4; } - l3->app_irq = irq; return 0; -- 1.7.4.1
WARNING: multiple messages have this Message-ID (diff)
From: santosh.shilimkar@ti.com (Santosh Shilimkar) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 3/8] OMAP: Fix a BUG in l3 error handler. Date: Thu, 8 Sep 2011 10:52:02 +0530 [thread overview] Message-ID: <1315459327-3285-4-git-send-email-santosh.shilimkar@ti.com> (raw) In-Reply-To: <1315459327-3285-1-git-send-email-santosh.shilimkar@ti.com> From: Todd Poynor <toddpoynor@google.com> With the current sequence of registering the irq and assigning it to the app_irq, debug_irq driver variables, there can be corner cases where the pending irq gets triggered immediately after registering, handler gets called resulting in a crash. So changed this sequence. Signed-off-by: sricharan <r.sricharan@ti.com> Signed-off-by: Todd Poynor <toddpoynor@google.com> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> --- arch/arm/mach-omap2/omap_l3_noc.c | 12 +++++------- 1 files changed, 5 insertions(+), 7 deletions(-) diff --git a/arch/arm/mach-omap2/omap_l3_noc.c b/arch/arm/mach-omap2/omap_l3_noc.c index d560c88..cf237dd 100644 --- a/arch/arm/mach-omap2/omap_l3_noc.c +++ b/arch/arm/mach-omap2/omap_l3_noc.c @@ -124,7 +124,7 @@ static int __init omap4_l3_probe(struct platform_device *pdev) { static struct omap4_l3 *l3; struct resource *res; - int ret, irq; + int ret; l3 = kzalloc(sizeof(*l3), GFP_KERNEL); if (!l3) @@ -176,8 +176,8 @@ static int __init omap4_l3_probe(struct platform_device *pdev) /* * Setup interrupt Handlers */ - irq = platform_get_irq(pdev, 0); - ret = request_irq(irq, + l3->debug_irq = platform_get_irq(pdev, 0); + ret = request_irq(l3->debug_irq, l3_interrupt_handler, IRQF_DISABLED, "l3-dbg-irq", l3); if (ret) { @@ -185,10 +185,9 @@ static int __init omap4_l3_probe(struct platform_device *pdev) OMAP44XX_IRQ_L3_DBG); goto err3; } - l3->debug_irq = irq; - irq = platform_get_irq(pdev, 1); - ret = request_irq(irq, + l3->app_irq = platform_get_irq(pdev, 1); + ret = request_irq(l3->app_irq, l3_interrupt_handler, IRQF_DISABLED, "l3-app-irq", l3); if (ret) { @@ -196,7 +195,6 @@ static int __init omap4_l3_probe(struct platform_device *pdev) OMAP44XX_IRQ_L3_APP); goto err4; } - l3->app_irq = irq; return 0; -- 1.7.4.1
next prev parent reply other threads:[~2011-09-08 5:22 UTC|newest] Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-09-08 5:21 [PATCH 0/8] OMAP3/4: Misc fixes and clean-up Santosh Shilimkar 2011-09-08 5:21 ` Santosh Shilimkar 2011-09-08 5:22 ` [PATCH 1/8] OMAP: hwmod: Fix the addr spaces count API Santosh Shilimkar 2011-09-08 5:22 ` Santosh Shilimkar 2011-09-08 7:47 ` Cousson, Benoit 2011-09-08 7:47 ` Cousson, Benoit 2011-09-08 5:22 ` [PATCH 2/8] OMAP: Improve register access in L3 Error handler Santosh Shilimkar 2011-09-08 5:22 ` Santosh Shilimkar 2011-09-08 5:22 ` Santosh Shilimkar [this message] 2011-09-08 5:22 ` [PATCH 3/8] OMAP: Fix a BUG in l3 error handler Santosh Shilimkar 2011-09-08 5:22 ` [PATCH 4/8] OMAP: Fix indentation issues " Santosh Shilimkar 2011-09-08 5:22 ` Santosh Shilimkar 2011-09-08 5:22 ` [PATCH 5/8] OMAP: Fix sparse warnings " Santosh Shilimkar 2011-09-08 5:22 ` Santosh Shilimkar 2011-09-08 5:22 ` [PATCH 6/8] OMAP: Print Initiator name for l3 custom error Santosh Shilimkar 2011-09-08 5:22 ` Santosh Shilimkar 2011-09-08 5:22 ` [PATCH 7/8] OMAP4: clock: Add CPU local timer clock node Santosh Shilimkar 2011-09-08 5:22 ` Santosh Shilimkar 2011-09-29 19:12 ` Paul Walmsley 2011-09-29 19:12 ` Paul Walmsley 2011-09-30 9:14 ` Shilimkar, Santosh 2011-09-30 9:14 ` Shilimkar, Santosh 2011-09-29 21:30 ` Linus Walleij 2011-09-29 21:30 ` Linus Walleij 2011-09-30 9:15 ` Shilimkar, Santosh 2011-09-30 9:15 ` Shilimkar, Santosh 2011-12-08 23:02 ` Turquette, Mike 2011-12-08 23:02 ` Turquette, Mike 2011-12-12 8:15 ` Shilimkar, Santosh 2011-12-12 8:15 ` Shilimkar, Santosh 2011-09-08 5:22 ` [PATCH 8/8] OMAP4: Fix the emif and dmm virtual mapping Santosh Shilimkar 2011-09-08 5:22 ` Santosh Shilimkar 2011-09-16 17:56 ` Kevin Hilman 2011-09-16 17:56 ` Kevin Hilman 2011-09-20 15:01 ` Santosh Shilimkar 2011-09-20 15:01 ` Santosh Shilimkar 2011-09-21 15:28 ` Santosh Shilimkar 2011-09-21 15:28 ` Santosh Shilimkar 2011-09-21 17:31 ` Kevin Hilman 2011-09-21 17:31 ` Kevin Hilman 2011-09-22 5:53 ` Shilimkar, Santosh 2011-09-22 5:53 ` Shilimkar, Santosh 2011-09-24 6:03 ` [PATCH 0/8] OMAP3/4: Misc fixes and clean-up Santosh Shilimkar 2011-09-24 6:03 ` Santosh Shilimkar 2011-09-24 6:31 ` Paul Walmsley 2011-09-24 6:31 ` Paul Walmsley 2011-09-24 6:35 ` Santosh Shilimkar 2011-09-24 6:35 ` Santosh Shilimkar 2011-09-24 7:36 ` Paul Walmsley 2011-09-24 7:36 ` Paul Walmsley 2011-09-24 7:46 ` Santosh Shilimkar 2011-09-24 7:46 ` Santosh Shilimkar
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1315459327-3285-4-git-send-email-santosh.shilimkar@ti.com \ --to=santosh.shilimkar@ti.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-omap@vger.kernel.org \ --cc=r.sricharan@ti.com \ --cc=toddpoynor@google.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.