[PATCH] serial: PL011: move interrupt clearing

viresh kumar viresh.linux at gmail.com
Wed Mar 21 21:04:37 EDT 2012


On Thu, Mar 22, 2012 at 12:45 AM, Linus Walleij
<linus.walleij at linaro.org> wrote:
> Commit 360f748b204275229f8398cb2f9f53955db1503b
> "serial: PL011: clear pending interrupts"
> attempts to clear interrupts by writing to a
> yet-unassigned memory address. This fixes the issue.
>
> The breaking patch is marked for stable so should be
> carried along with the other patch.
>
> Cc: Shreshtha Kumar Sahu <shreshthakumar.sahu at stericsson.com>
> Cc: Russell King <linux at arm.linux.org.uk>
> Cc: stable <stable at vger.kernel.org>
> Reported-by: Viresh Kumar <viresh.kumar at st.com>
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> ---
>  drivers/tty/serial/amba-pl011.c |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)

You missed me in CC??

>
> diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c
> index 7e01399..4ed35c5 100644
> --- a/drivers/tty/serial/amba-pl011.c
> +++ b/drivers/tty/serial/amba-pl011.c
> @@ -1930,10 +1930,6 @@ static int pl011_probe(struct amba_device *dev, const struct amba_id *id)
>                goto unmap;
>        }
>
> -       /* Ensure interrupts from this UART are masked and cleared */
> -       writew(0, uap->port.membase + UART011_IMSC);
> -       writew(0xffff, uap->port.membase + UART011_ICR);
> -
>        uap->vendor = vendor;
>        uap->lcrh_rx = vendor->lcrh_rx;
>        uap->lcrh_tx = vendor->lcrh_tx;
> @@ -1951,6 +1947,10 @@ static int pl011_probe(struct amba_device *dev, const struct amba_id *id)
>        uap->port.line = i;
>        pl011_dma_probe(uap);
>
> +       /* Ensure interrupts from this UART are masked and cleared */
> +       writew(0, uap->port.membase + UART011_IMSC);
> +       writew(0xffff, uap->port.membase + UART011_ICR);
> +
>        snprintf(uap->type, sizeof(uap->type), "PL011 rev%u", amba_rev(dev));
>
>        amba_ports[i] = uap;

Reviewed-by: Viresh Kumar <viresh.kumar at st.com>

--
viresh



More information about the linux-arm-kernel mailing list