mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-04 10:12:16 +09:00
mwifiex: fix PCIe hs_cfg cancel cmd timeout
commit b7be1522de upstream.
For pcie8897, the hs_cfg cancel command (0xe5) times out when host
comes out of suspend. This is caused by an incompleted host sleep
handshake between driver and firmware.
Like SDIO interface, PCIe also needs to go through firmware power
save events to complete the handshake for host sleep configuration.
Only USB interface doesn't require power save events for hs_cfg.
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
88fb132a74
commit
e54fcd5bcf
@@ -1154,7 +1154,7 @@ int mwifiex_ret_802_11_hs_cfg(struct mwifiex_private *priv,
|
||||
uint32_t conditions = le32_to_cpu(phs_cfg->params.hs_config.conditions);
|
||||
|
||||
if (phs_cfg->action == cpu_to_le16(HS_ACTIVATE) &&
|
||||
adapter->iface_type == MWIFIEX_SDIO) {
|
||||
adapter->iface_type != MWIFIEX_USB) {
|
||||
mwifiex_hs_activated_event(priv, true);
|
||||
return 0;
|
||||
} else {
|
||||
@@ -1166,8 +1166,7 @@ int mwifiex_ret_802_11_hs_cfg(struct mwifiex_private *priv,
|
||||
}
|
||||
if (conditions != HS_CFG_CANCEL) {
|
||||
adapter->is_hs_configured = true;
|
||||
if (adapter->iface_type == MWIFIEX_USB ||
|
||||
adapter->iface_type == MWIFIEX_PCIE)
|
||||
if (adapter->iface_type == MWIFIEX_USB)
|
||||
mwifiex_hs_activated_event(priv, true);
|
||||
} else {
|
||||
adapter->is_hs_configured = false;
|
||||
|
||||
Reference in New Issue
Block a user