Re: [GIT pull] irq updates for 4.13

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


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.

Thanks,

tglx