On Tue, Aug 14, 2018 at 05:16:38PM +0200, Takashi Iwai wrote:
Pierre-Louis Bossart wrote:
I am not that familiar with PCI gory details but that patch was reviewed internally with no objections raised; there was also an agreement that the SOF driver would follow the same sequence, so
It's a standard idiom for a driver allocating a shared irq line. Because an irq may be issued by another device on the same line, the registered irq handler may be kicked off before the registers or whatever else is ready for use, eventually leading to some Oops.
The destructor is other way round; first free the irq handler, then release the rest resources.
Right, it's nothing to do with PCI specifically. We even have a debug option in the kernel which will simulate the interrupt firing on potentially shared lines immediately on registering to try to catch such bugs.