diff options
Diffstat (limited to 'drivers/net/wireless/mwifiex/cmdevt.c')
| -rw-r--r-- | drivers/net/wireless/mwifiex/cmdevt.c | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/wireless/mwifiex/cmdevt.c b/drivers/net/wireless/mwifiex/cmdevt.c index 51e023ec1de4..c68adec3cc8b 100644 --- a/drivers/net/wireless/mwifiex/cmdevt.c +++ b/drivers/net/wireless/mwifiex/cmdevt.c @@ -578,6 +578,7 @@ int mwifiex_send_cmd_async(struct mwifiex_private *priv, uint16_t cmd_no,  	} else {  		adapter->cmd_queued = cmd_node;  		mwifiex_insert_cmd_to_pending_q(adapter, cmd_node, true); +		queue_work(adapter->workqueue, &adapter->main_work);  	}  	return ret; @@ -1102,7 +1103,8 @@ int mwifiex_ret_802_11_hs_cfg(struct mwifiex_private *priv,  		&resp->params.opt_hs_cfg;  	uint32_t conditions = le32_to_cpu(phs_cfg->params.hs_config.conditions); -	if (phs_cfg->action == cpu_to_le16(HS_ACTIVATE)) { +	if (phs_cfg->action == cpu_to_le16(HS_ACTIVATE) && +	    adapter->iface_type == MWIFIEX_SDIO) {  		mwifiex_hs_activated_event(priv, true);  		return 0;  	} else { @@ -1114,6 +1116,9 @@ int mwifiex_ret_802_11_hs_cfg(struct mwifiex_private *priv,  	}  	if (conditions != HOST_SLEEP_CFG_CANCEL) {  		adapter->is_hs_configured = true; +		if (adapter->iface_type == MWIFIEX_USB || +		    adapter->iface_type == MWIFIEX_PCIE) +			mwifiex_hs_activated_event(priv, true);  	} else {  		adapter->is_hs_configured = false;  		if (adapter->hs_activated)  | 
