On Wed, Sep 18, 2013 at 06:05:12PM +0100, Jonathan Cameron wrote: > > >> >However in this case such conversion us dangerous. With all but IRQ > >> >resource managed by the traditional methods they will be released > >first > >> >with IRQ handler deregistered very last. Therefore if device is not > >> >properly quiesced IRQ raised during driver unbinding is likely to > >> >result > >> >in kernel oops. > >> > > >> >IOW devm_request_irq() is very often evil (it is still useful if > >_all_ > >> >your resources are managed by devm_*). > >> > > >> >In case of your driver I'd recommend switching to > >> >request_irq()/free_irq() instead. > >> > > >> >Thanks. > >> > >> Pretty much all resources are devm managed in here > >> > >> > >https://git.kernel.org/cgit/linux/kernel/git/jic23/iio.git/tree/drivers/iio/adc/ti_am335x_adc.c?h=togreg&id=7a1aeba7ed0d5a1e83fd5a8ee2a2869430d40347 > > > > > >So we are guaranteed that that new kfifo that is being allocated just > >before we requesting IRQ and will be freed way before we free the IRQ > >will not be used by the IOTQ handler? > > > >Thanks. > Good point. I forgot about that. The source of interrupts 'should' be disabled before the kfifo is freed but I guess perhaps better to play it safe. Would take a fair bit of review to be sure that is not going to cause grief. > > A few more devm handlers need writing before it is truly useful here. > > Thanks for pointing this out. > > J If I understand the conclusion correctly, no devm here? Zubair -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html