Re: [GIT pull] irq updates for 4.13

From: Thomas Gleixner
Date: Tue Jul 11 2017 - 11:07:10 EST


On Tue, 11 Jul 2017, Thomas Gleixner wrote:
> On Tue, 11 Jul 2017, Tony Lindgren wrote:
> > * Thomas Gleixner <tglx@xxxxxxxxxxxxx> [170711 02:48]:
> > And "external abort on non-linefetch" means something is not clocked
> > in this case. The following alone makes things boot for me again, but I don't
> > quite follow what has now changed with the ordering.. Thomas, any ideas?
>
> Ah. Now that makes sense.
>
> Unpatched the ordering is:
>
> chip_bus_lock(desc);
> irq_request_resources(desc);
>
> Now the offending change reordered the calls. OMAP gpio has:
>
> omap_gpio_irq_bus_lock()
> pm_runtime_get_sync(bank->chip.parent);
>
> So that at least explains the error. So that omap gpio irq chip (ab)uses
> the bus_lock() callback to do runtime power management. Sigh, I did not
> expect that. Let me have a deeper look if that's OMAP only or whether this
> happens in other places as well.

So OMAP-GPIO is the only driver which abuses bus_lock/unlock() in that way
and gets surprised.

Thanks,

tglx