qcacld-3.0: block all wmi cmds if wow enable ack failed

If wow enable failed, block all the wmi cmds until
sub system recovery.

Change-Id: I0920b0ef304719f40f5ca7e61a2beb3687e16707
CRs-Fixed: 3471908
This commit is contained in:
Jingxiang Ge
2023-04-18 17:31:23 +08:00
committed by Madan Koyyalamudi
parent 30c7d9714e
commit 5cfbcd0347
7 changed files with 57 additions and 3 deletions

View File

@@ -162,6 +162,7 @@ typedef int (*pmo_pld_auto_resume_cb)(void);
* @psoc_send_idle_roam_suspend_mode: fp to send suspend mode for
* idle roam trigger to firmware.
* @send_icmp_offload_req: fp to send icmp offload request
* @psoc_set_wow_enable_ack_failed: fp to set wow enable ack failure status
*/
struct wlan_pmo_tx_ops {
QDF_STATUS (*send_arp_offload_req)(struct wlan_objmgr_vdev *vdev,
@@ -277,6 +278,7 @@ struct wlan_pmo_tx_ops {
struct wlan_objmgr_psoc *psoc,
struct pmo_icmp_offload *pmo_icmp_req);
#endif
void (*psoc_set_wow_enable_ack_failed)(struct wlan_objmgr_psoc *psoc);
};
#endif /* end of _WLAN_PMO_OBJ_MGMT_PUBLIC_STRUCT_H_ */

View File

@@ -500,4 +500,14 @@ QDF_STATUS
pmo_tgt_config_icmp_offload_req(struct wlan_objmgr_psoc *psoc,
struct pmo_icmp_offload *pmo_icmp_req);
#endif
/**
* pmo_tgt_psoc_set_wow_enable_ack_failed() -set wow enable ack failure status
* @psoc: objmgr psoc
*
* Return: none
*/
QDF_STATUS
pmo_tgt_psoc_set_wow_enable_ack_failed(struct wlan_objmgr_psoc *psoc);
#endif /* end of _WLAN_PMO_TGT_API_H_ */

View File

@@ -294,3 +294,18 @@ QDF_STATUS pmo_tgt_psoc_send_idle_roam_monitor(struct wlan_objmgr_psoc *psoc,
}
return pmo_tx_ops.psoc_send_idle_roam_suspend_mode(psoc, val);
}
QDF_STATUS pmo_tgt_psoc_set_wow_enable_ack_failed(struct wlan_objmgr_psoc *psoc)
{
struct wlan_pmo_tx_ops pmo_tx_ops;
pmo_tx_ops = GET_PMO_TX_OPS_FROM_PSOC(psoc);
if (!pmo_tx_ops.psoc_set_wow_enable_ack_failed) {
pmo_err("pmo ops is null");
return QDF_STATUS_E_NULL_VALUE;
}
pmo_tx_ops.psoc_set_wow_enable_ack_failed(psoc);
return QDF_STATUS_SUCCESS;
}