On 3/20/19 8:46 AM, Bjorn Helgaas wrote:
Hi Alexandru,
On Mon, Mar 18, 2019 at 08:12:04PM -0500, Alexandru Gagniuc wrote:
A threaded IRQ with a NULL handler does not work with level-triggered
interrupts. request_threaded_irq() will return an error:
genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq 16
pcie_bw_notification: probe of 0000:00:1b.0:pcie010 failed with error -22
For level interrupts we need to silence the interrupt before exiting
the IRQ handler, so just clear the PCI_EXP_LNKSTA_LBMS bit there.
Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@xxxxxxxxx>
What's your thought regarding Lukas' comment? If you do repost this,
please add a Fixes: tag to help connect this with the initial commit.
I like Lukas's idea. I should have this re-posted by end of week, unless
there's an urgency to get it out earlier.
Alex