Re: FAILED: patch "[PATCH] ARM: mxs: icoll: Fix interrupts gpio bank 0" failed to apply to 3.9-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Sun, Jun 09, 2013 at 10:54:47PM -0700, gregkh@xxxxxxxxxxxxxxxxxxx wrote:
> 
> The patch below does not apply to the 3.9-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <stable@xxxxxxxxxxxxxxx>.

I couldn't reproduce the conflict for this patch on the 3.9 stable tree.
How can I setup the correct 3.9-stable state with the conflict?

Thanks,

Markus

> 
> thanks,
> 
> greg k-h
> 
> ------------------ original commit in Linus's tree ------------------
> 
> From b5f83e9b069f4bf19214ca6130947806a2b853fa Mon Sep 17 00:00:00 2001
> From: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
> Date: Tue, 28 May 2013 17:00:57 +0200
> Subject: [PATCH] ARM: mxs: icoll: Fix interrupts gpio bank 0
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> 
> The mxs interrupt controller does not support polling for interrupts,
> but the driver still does it, which is a relict from
> pre-MULTI_IRQ_HANDLER times.
> 
> The existing code assumes that 0x7f means no interrupt, but this value
> is an actually valid irq number, namely gpio bank 0's irq. This results
> in the driver not detecting when irq 0x7f is active which makes the
> machine effectively dead lock.
> 
> This patch removes the interrupt poll loop and allows usage of gpio0
> interrupt without an infinite loop.
> 
> Signed-off-by: Uwe Kleine-K??nig <u.kleine-koenig@xxxxxxxxxxxxxx>
> Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
> 
> diff --git a/drivers/irqchip/irq-mxs.c b/drivers/irqchip/irq-mxs.c
> index 29889bb..63b3d4e 100644
> --- a/drivers/irqchip/irq-mxs.c
> +++ b/drivers/irqchip/irq-mxs.c
> @@ -76,16 +76,10 @@ asmlinkage void __exception_irq_entry icoll_handle_irq(struct pt_regs *regs)
>  {
>  	u32 irqnr;
>  
> -	do {
> -		irqnr = __raw_readl(icoll_base + HW_ICOLL_STAT_OFFSET);
> -		if (irqnr != 0x7f) {
> -			__raw_writel(irqnr, icoll_base + HW_ICOLL_VECTOR);
> -			irqnr = irq_find_mapping(icoll_domain, irqnr);
> -			handle_IRQ(irqnr, regs);
> -			continue;
> -		}
> -		break;
> -	} while (1);
> +	irqnr = __raw_readl(icoll_base + HW_ICOLL_STAT_OFFSET);
> +	__raw_writel(irqnr, icoll_base + HW_ICOLL_VECTOR);
> +	irqnr = irq_find_mapping(icoll_domain, irqnr);
> +	handle_IRQ(irqnr, regs);
>  }
>  
>  static int icoll_irq_domain_map(struct irq_domain *d, unsigned int virq,
> 
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]