diff mbox

ARM: S3C24XX: Fix interrupt pending register offset of the EINT controller

Message ID 1365450787-14473-1-git-send-email-s.nawrocki@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Sylwester Nawrocki April 8, 2013, 7:53 p.m. UTC
The external pending interrupt register address (EINTPEND) offset is
0xa8, not 0x08. Without this patch the external interrupts are not
properly acknowledged, which may lead to an interrupt storm and the
system hang as soon as any external interrupt is requested.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
---

This patch is for _3.9_. I'm going to send a similar patch for 3.10-rc2
for drivers/irqchip/irq-s3c24xx.c.
---
 arch/arm/mach-s3c24xx/irq.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

--
1.7.4.1

Comments

Heiko Stübner April 8, 2013, 8:25 p.m. UTC | #1
Am Montag, 8. April 2013, 21:53:07 schrieb Sylwester Nawrocki:
> The external pending interrupt register address (EINTPEND) offset is
> 0xa8, not 0x08. Without this patch the external interrupts are not
> properly acknowledged, which may lead to an interrupt storm and the
> system hang as soon as any external interrupt is requested.
> 
> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
yep, I unintentionally introduced a typo there and the register really is 
0xa8, so thanks (again) for the fix

Reviewed-by: Heiko Stuebner <heiko@sntech.de>
 

> ---
> 
> This patch is for _3.9_. I'm going to send a similar patch for 3.10-rc2
> for drivers/irqchip/irq-s3c24xx.c.
> ---
>  arch/arm/mach-s3c24xx/irq.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/mach-s3c24xx/irq.c b/arch/arm/mach-s3c24xx/irq.c
> index cb9f5e0..d8ba9be 100644
> --- a/arch/arm/mach-s3c24xx/irq.c
> +++ b/arch/arm/mach-s3c24xx/irq.c
> @@ -500,7 +500,7 @@ struct s3c_irq_intc *s3c24xx_init_intc(struct
> device_node *np, base = (void *)0xfd000000;
> 
>  		intc->reg_mask = base + 0xa4;
> -		intc->reg_pending = base + 0x08;
> +		intc->reg_pending = base + 0xa8;
>  		irq_num = 20;
>  		irq_start = S3C2410_IRQ(32);
>  		irq_offset = 4;
> --
> 1.7.4.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe
> linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kim Kukjin April 9, 2013, 2:59 p.m. UTC | #2
On 04/09/13 05:25, Heiko Stübner wrote:
> Am Montag, 8. April 2013, 21:53:07 schrieb Sylwester Nawrocki:
>> The external pending interrupt register address (EINTPEND) offset is
>> 0xa8, not 0x08. Without this patch the external interrupts are not
>> properly acknowledged, which may lead to an interrupt storm and the
>> system hang as soon as any external interrupt is requested.
>>
>> Signed-off-by: Sylwester Nawrocki<s.nawrocki@samsung.com>
> yep, I unintentionally introduced a typo there and the register really is
> 0xa8, so thanks (again) for the fix
>
> Reviewed-by: Heiko Stuebner<heiko@sntech.de>
>
Applied into fixes for v3.9.

Thanks.

- Kukjin
diff mbox

Patch

diff --git a/arch/arm/mach-s3c24xx/irq.c b/arch/arm/mach-s3c24xx/irq.c
index cb9f5e0..d8ba9be 100644
--- a/arch/arm/mach-s3c24xx/irq.c
+++ b/arch/arm/mach-s3c24xx/irq.c
@@ -500,7 +500,7 @@  struct s3c_irq_intc *s3c24xx_init_intc(struct device_node *np,
 		base = (void *)0xfd000000;

 		intc->reg_mask = base + 0xa4;
-		intc->reg_pending = base + 0x08;
+		intc->reg_pending = base + 0xa8;
 		irq_num = 20;
 		irq_start = S3C2410_IRQ(32);
 		irq_offset = 4;