From 1e74a3826909369fe7af41a4054921f91781a984 Mon Sep 17 00:00:00 2001 From: Ido Yariv Date: Tue, 9 Jun 2015 10:12:23 -0400 Subject: [PATCH] iwlwifi: pcie: suspend/resume pci without interrupts Suspending and resuming with interrupts enabled might result in race conditions, especially with regards to rfkill handling. Since interrupt handling isn't required at these stages, suspend and resume with interrupts disabled. Signed-off-by: Ido Yariv --- drivers/net/wireless/iwlwifi/pcie/drv.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/iwlwifi/pcie/drv.c b/drivers/net/wireless/iwlwifi/pcie/drv.c index 686dd30..d8c0e00 100644 --- a/drivers/net/wireless/iwlwifi/pcie/drv.c +++ b/drivers/net/wireless/iwlwifi/pcie/drv.c @@ -612,7 +612,14 @@ static int iwl_pci_resume(struct device *device) return 0; } -static SIMPLE_DEV_PM_OPS(iwl_dev_pm_ops, iwl_pci_suspend, iwl_pci_resume); +static const struct dev_pm_ops iwl_dev_pm_ops = { + .suspend_noirq = iwl_pci_suspend, + .resume_noirq = iwl_pci_resume, + .freeze_noirq = iwl_pci_suspend, + .thaw_noirq = iwl_pci_resume, + .poweroff_noirq = iwl_pci_suspend, + .restore_noirq = iwl_pci_resume, +}; #define IWL_PM_OPS (&iwl_dev_pm_ops) -- 2.1.0