Re: [PATCH 12/15] sound: add missing HAS_IOPORT and GENERIC_HARDIRQS dependencies

Dmitry Torokhov
2013-02-13T21:34:11Z

On Wed, Feb 06, 2013 at 09:56:55PM +0000, Arnd Bergmann wrote:
> On Wednesday 06 February 2013, Heiko Carstens wrote:
> >
> > I haven't looked into it, but I doubt if that is possible without large
> > effort, if at all. s390 doesn't have any irq chips, nor something like
> > edge or level triggered irqs.
> > Instead we have floating interrupts. Does that fit into the concept of
> > GENERIC_HARDIRQS at all?
> > If so, we can give it a try, sure. But that won't happen any time soon.
> >
> > Or are you simply proposing we should have both, our own irq handling plus
> > GENERIC_HARDIRQS with dummy functions?
>
> I think you should use GENERIC_HARDIRQ just for PCI, and rename the s390
> interrupt handling to something that does not conflict. I understand
> that the concepts are quite different, but with PCI support, you actually
> do get all the weird interrupt hardware.
> More importantly, some features provided by GENERIC_HARDIRQ are replacing
> the traditional interfaces now, e.g. devm_request_irq() is actually
> recommended over request_irq() for normal drivers these days, as it
> simplifies the error handling.

I would be very careful with this statement. While devm_request_irq()
does simplify error handling in several cases I have also seen countless
examples when it was used with non devm_*-managed structures that are
freed by hand opening race window where interrupts can be delivered and
use structure that is already freed.

Thanks.

--
Dmitry