On Thu, Oct 11, 2012 at 09:49:38PM -0700, Kuninori Morimoto wrote:
> When interrupt happened, renesas_usbhs driver gets irq status
> by usbhs_status_get_each_irq(), and cleared all status by using 0.
> But, this method is incorrect,
> since extra interrupt might occur between them.
> This patch cleared corresponding bits only

should this be sent to stable tree also ?

> Signed-off-by: Kuninori Morimoto <kuninori.morimoto...@renesas.com>
> ---
>  drivers/usb/renesas_usbhs/mod.c |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/usb/renesas_usbhs/mod.c b/drivers/usb/renesas_usbhs/mod.c
> index 35c5208..61933a9 100644
> --- a/drivers/usb/renesas_usbhs/mod.c
> +++ b/drivers/usb/renesas_usbhs/mod.c
> @@ -273,9 +273,9 @@ static irqreturn_t usbhs_interrupt(int irq, void *data)
>       usbhs_write(priv, INTSTS0, ~irq_state.intsts0 & INTSTS0_MAGIC);
>       usbhs_write(priv, INTSTS1, ~irq_state.intsts1 & INTSTS1_MAGIC);
>  
> -     usbhs_write(priv, BRDYSTS, 0);
> -     usbhs_write(priv, NRDYSTS, 0);
> -     usbhs_write(priv, BEMPSTS, 0);
> +     usbhs_write(priv, BRDYSTS, ~irq_state.brdysts);
> +     usbhs_write(priv, NRDYSTS, ~irq_state.nrdysts);
> +     usbhs_write(priv, BEMPSTS, ~irq_state.bempsts);
>  
>       /*
>        * call irq callback functions
> -- 
> 1.7.9.5
> 

-- 
balbi

Attachment: signature.asc
Description: Digital signature

Reply via email to