Re: [GIT pull] irq updates for 4.13

From: Linus Torvalds
Date: Mon Jul 10 2017 - 13:01:33 EST

On Mon, Jul 10, 2017 at 6:35 AM, Sebastian Reichel
<sebastian.reichel@xxxxxxxxxxxxxxx> wrote:
> This patch apparently breaks OMAP platform:
> 46e48e257360f0845fe17089713cbad4db611e70 is the first bad commit
> commit 46e48e257360f0845fe17089713cbad4db611e70
> Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Date: Thu Jun 29 23:33:38 2017 +0200
> genirq: Move irq resource handling out of spinlocked region
> Boot failure log from Droid 4:
> [ ... snip snip ..]
> Droid 4 boots current master again after applying the patch below
> (which is git revet of above patch, but I provide the patch, since
> it did not revet cleanly).

Hmm. Do you actually need the full revert?

I think it's only the __setup_irq() part that looks like it may be garbage.

For example, I think it releases the resources twice if the
__irq_set_trigger() call fails.

But it looks questionably in other ways too - notably, the change to
make the request call be in the same context as the freeing is done is
apparently done entirely for symmetry reasons, not for any actual
*reason* reasons.

So I suspect just the __setup_irq() parts should be reverted, because
they look both buggy and pointless. But the actual *real* part of the
patch was the two-liner __free_irq() part, and that looks sane to me.

So Sebastian, can you test if it's ok to revert just the __setup_irq()
part, but leave the smaller part in __free_irq() that just moves the
irq_release_resources() around at freeing time?

Thomas? Comments?