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?
Linus