提交 c24d992a 编写于 作者: A Avinash Patil 提交者: John W. Linville

mwifiex: avoid waking up device in awake state

We have received interrupt from device means FW is not sleeping.
In this case make sure wakeup handler for PCIe is not invoked by
setting adapter->pm_wakeup_fw_try to false.
Signed-off-by: NAvinash Patil <patila@marvell.com>
Signed-off-by: NBing Zhao <bzhao@marvell.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 b2fda1f6
...@@ -1983,12 +1983,13 @@ static void mwifiex_interrupt_status(struct mwifiex_adapter *adapter) ...@@ -1983,12 +1983,13 @@ static void mwifiex_interrupt_status(struct mwifiex_adapter *adapter)
} }
} }
} else if (!adapter->pps_uapsd_mode && } else if (!adapter->pps_uapsd_mode &&
adapter->ps_state == PS_STATE_SLEEP) { adapter->ps_state == PS_STATE_SLEEP &&
mwifiex_pcie_ok_to_access_hw(adapter)) {
/* Potentially for PCIe we could get other /* Potentially for PCIe we could get other
* interrupts like shared. Don't change power * interrupts like shared. Don't change power
* state until cookie is set */ * state until cookie is set */
if (mwifiex_pcie_ok_to_access_hw(adapter)) adapter->ps_state = PS_STATE_AWAKE;
adapter->ps_state = PS_STATE_AWAKE; adapter->pm_wakeup_fw_try = false;
} }
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册