On Fri, 26 Jun 2015, tip-bot for Thomas Gleixner wrote: > Commit-ID: c30e30478c74e5be2fa3bbe954084a31f0d60570 > Gitweb: http://git.kernel.org/tip/c30e30478c74e5be2fa3bbe954084a31f0d60570 > Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > AuthorDate: Sun, 21 Jun 2015 20:16:06 +0200 > Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > CommitDate: Thu, 25 Jun 2015 11:56:52 +0200 > > mfd/asic3: Fix race in installing chained IRQ handler > > Fix a race where a pending interrupt could be received and the handler > called before the handler's data has been setup, by converting to > irq_set_chained_handler_and_data(). > > Search and conversion was done with coccinelle: > > @@ > expression E1, E2, E3; > @@ > ( > -if (irq_set_chained_handler(E1, E3) != 0) > - BUG(); > | > -irq_set_chained_handler(E1, E3); > ) > -irq_set_handler_data(E1, E2); > +irq_set_chained_handler_and_data(E1, E3, E2); > > @@ > expression E1, E2, E3; > @@ > ( > -if (irq_set_chained_handler(E1, E3) != 0) > - BUG(); > ... > | > -irq_set_chained_handler(E1, E3); > ... > ) > -irq_set_handler_data(E1, E2); > +irq_set_chained_handler_and_data(E1, E3, E2); > > Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: Julia Lawall <Julia.Lawall@xxxxxxx> > Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> > Cc: Lee Jones <lee.jones@xxxxxxxxxx> > --- > drivers/mfd/asic3.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) Applied to MFD -fixes. > diff --git a/drivers/mfd/asic3.c b/drivers/mfd/asic3.c > index 977bd3a..120df5c 100644 > --- a/drivers/mfd/asic3.c > +++ b/drivers/mfd/asic3.c > @@ -417,9 +417,8 @@ static int __init asic3_irq_probe(struct platform_device *pdev) > asic3_write_register(asic, ASIC3_OFFSET(INTR, INT_MASK), > ASIC3_INTMASK_GINTMASK); > > - irq_set_chained_handler(asic->irq_nr, asic3_irq_demux); > + irq_set_chained_handler_and_data(asic->irq_nr, asic3_irq_demux, asic); > irq_set_irq_type(asic->irq_nr, IRQ_TYPE_EDGE_RISING); > - irq_set_handler_data(asic->irq_nr, asic); > > return 0; > } -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |