From: Tomas Winkler Date: Wed, 27 Jun 2012 14:14:20 +0000 (+0300) Subject: mei: pci_resume: set IRQF_ONESHOT for msi request_threaded_irq X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=16a50b1270455a6d41f9f6d8f99a72cf9d76824a;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git mei: pci_resume: set IRQF_ONESHOT for msi request_threaded_irq when the default irq quick handler is used then IRQF_ONESHOT must be set otherwise the request fails and following error is displayed: mei 0000:00:16.0: irq 48 for MSI/MSI-X genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq 48 mei 0000:00:16.0: request_threaded_irq failed: irq = 48. dpm_run_callback(): pci_pm_resume+0x0/0x140 returns -22 PM: Device 0000:00:16.0 failed to resume async: error -22 Reported-by: Peter Wu Signed-off-by: Tomas Winkler Tested-by: Peter Wu Signed-off-by: Roland Dreier Cc: stable # 3.5 Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/misc/mei/main.c b/drivers/misc/mei/main.c index 7de13891e49e..783fcd7365bc 100644 --- a/drivers/misc/mei/main.c +++ b/drivers/misc/mei/main.c @@ -1147,7 +1147,7 @@ static int mei_pci_resume(struct device *device) err = request_threaded_irq(pdev->irq, NULL, mei_interrupt_thread_handler, - 0, mei_driver_name, dev); + IRQF_ONESHOT, mei_driver_name, dev); else err = request_threaded_irq(pdev->irq, mei_interrupt_quick_handler,