qcacld-3.0: Request stats over qmi only when target suspend is success

Currently, Stats request commands are sent over qmi right from the
target suspend request is sent to FW. This is leading to a crash in
FW since it is trying to access PCI when it is in suspend state.

To address this, send stats request over QMI only after the ack is
received for the target suspend command.

Change-Id: I1b2b6a60c5d8c7ec4375d328e58a66d749794e3f
CRs-Fixed: 2835903
This commit is contained in:
Bapiraju Alla
2020-12-15 16:17:47 +05:30
committato da snandini
parent befcc80a7c
commit 19f4eb9bb6
7 ha cambiato i file con 71 aggiunte e 14 eliminazioni

Vedi File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2017-2020 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -209,6 +209,8 @@ struct wlan_pmo_tx_ops {
struct wlan_objmgr_psoc *psoc);
void (*update_target_suspend_flag)(
struct wlan_objmgr_psoc *psoc, uint8_t value);
void (*update_target_suspend_acked_flag)(
struct wlan_objmgr_psoc *psoc, uint8_t value);
bool (*is_target_suspended)(struct wlan_objmgr_psoc *psoc);
QDF_STATUS (*psoc_send_wow_enable_req)(struct wlan_objmgr_psoc *psoc,
struct pmo_wow_cmd_params *param);

Vedi File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2017-2020 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -377,10 +377,21 @@ int pmo_tgt_psoc_get_pending_cmnds(struct wlan_objmgr_psoc *psoc);
* @psoc: objmgr psoc
* @val: true on suspend false for resume
*
* Return: Pending WMI commands on success else EAGAIN on error
* Return: None
*/
void pmo_tgt_update_target_suspend_flag(struct wlan_objmgr_psoc *psoc,
uint8_t val);
uint8_t val);
/**
* pmo_tgt_update_target_suspend_acked_flag() - Set WMI target Suspend acked
* flag
* @psoc: objmgr psoc
* @val: true on suspend false for resume
*
* Return: None
*/
void pmo_tgt_update_target_suspend_acked_flag(struct wlan_objmgr_psoc *psoc,
uint8_t val);
/**
* pmo_tgt_is_target_suspended() - Get WMI target Suspend flag