Re: [GIT pull] irq updates for 4.13
From: Sebastian Reichel
Date: Mon Jul 10 2017 - 16:15:19 EST
Hi Linus,
On Mon, Jul 10, 2017 at 10:01:22AM -0700, Linus Torvalds wrote:
> 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?
It's technically not a full revert - I actually did not revert the
__free_irq changes.
> 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?
Looking at my patch it implements what you describe (by coincidence,
since git revert could not do a clean revert) as far as I can see.
It seems Pavel also understood it this way, since his patch is identical
to the one I provided.
-- Sebastian
Attachment:
signature.asc
Description: PGP signature