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.gx@xxxxxxxxxxx> > --- > 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