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: Avinash Patil <patila@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Avinash Patil 2013-03-22 21:49:06 -07:00 коммит произвёл John W. Linville
Родитель b2fda1f666
Коммит c24d992ab6
1 изменённых файлов: 4 добавлений и 3 удалений

Просмотреть файл

@ -1983,12 +1983,13 @@ static void mwifiex_interrupt_status(struct mwifiex_adapter *adapter)
}
}
} 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
* interrupts like shared. Don't change power
* 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;
}
}
}