qcacmn: Extend qdf_trigger_self_recovery to include psoc granularity
To undergo self recovery, the driver uses qdf_trigger_self_recovery to initiate the sequence. Currently, this framework is valid for only a single psoc driver. Extend this framework to include support for multiple psoc driver by providing the psoc on which the recovery has to be undertaken. Change-Id: I782b505c03819223a914dabe7673b369aa175b7c CRs-Fixed: 2617707
This commit is contained in:

committed by
nshrivas

parent
1b11ea9161
commit
1f21eadadf
@@ -36,8 +36,6 @@ void target_if_vdev_mgr_rsp_timer_cb(struct vdev_response_timer *vdev_rsp)
|
||||
{
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
struct wlan_lmac_if_mlme_rx_ops *rx_ops;
|
||||
struct crash_inject param;
|
||||
struct wmi_unified *wmi_handle;
|
||||
struct vdev_start_response start_rsp = {0};
|
||||
struct vdev_stop_response stop_rsp = {0};
|
||||
struct vdev_delete_response del_rsp = {0};
|
||||
@@ -137,21 +135,12 @@ void target_if_vdev_mgr_rsp_timer_cb(struct vdev_response_timer *vdev_rsp)
|
||||
return;
|
||||
}
|
||||
|
||||
/* Trigger fw recovery to collect fw dump */
|
||||
wmi_handle = GET_WMI_HDL_FROM_PSOC(psoc);
|
||||
if (wmi_handle) {
|
||||
mlme_err("PSOC_%d VDEV_%d: Self recovery, %s rsp timeout",
|
||||
wlan_psoc_get_id(psoc), vdev_id,
|
||||
string_from_rsp_bit(rsp_pos));
|
||||
qdf_mem_set(¶m, sizeof(param), 0);
|
||||
/* RECOVERY_SIM_ASSERT */
|
||||
param.type = 0x01;
|
||||
wmi_crash_inject(wmi_handle, ¶m);
|
||||
} else if (target_if_vdev_mgr_is_panic_on_bug()) {
|
||||
QDF_DEBUG_PANIC("PSOC_%d VDEV_%d: Panic, %s response timeout",
|
||||
wlan_psoc_get_id(psoc),
|
||||
vdev_id, string_from_rsp_bit(rsp_pos));
|
||||
}
|
||||
/* Trigger recovery */
|
||||
mlme_err("PSOC_%d VDEV_%d: Self recovery, %s rsp timeout",
|
||||
wlan_psoc_get_id(psoc), vdev_id,
|
||||
string_from_rsp_bit(rsp_pos));
|
||||
|
||||
qdf_trigger_self_recovery(psoc, QDF_REASON_UNSPECIFIED);
|
||||
}
|
||||
|
||||
#ifdef SERIALIZE_VDEV_RESP
|
||||
|
Reference in New Issue
Block a user