From c639cb850040bed88c524481f9d5cd5659ae1f2b Mon Sep 17 00:00:00 2001 From: Asutosh Mohapatra Date: Mon, 16 Jan 2023 16:06:33 +0530 Subject: [PATCH] qcacld-3.0: Enhance hang reason code mappings Currently many host hang reason codes are not mapped to corresponding userspace codes as a result these hang reason code will be invalid for userspace and also QDF_REASON_UNSPECIFIED is used in some places in host. To add mappings for host hang codes to corresponding to userspace hang codes and also add new hang codes. Change-Id: Id617c2bbfd72b0e83b50f522fd1313fbc9eea2cc CRs-Fixed: 3381230 --- core/hdd/src/wlan_hdd_cfg80211.c | 27 +++++++++++++++++++++++++++ core/wma/src/wma_dev_if.c | 4 ++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index f17f79b144..4975b1d096 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -1298,6 +1298,33 @@ hdd_convert_hang_reason(enum qdf_hang_reason reason) case QDF_TASKLET_CREDIT_LATENCY_DETECT: ret_val = QCA_WLAN_HANG_TASKLET_CREDIT_LATENCY_DETECT; break; + case QDF_RX_REG_PKT_ROUTE_ERR: + ret_val = QCA_WLAN_HANG_RX_MSDU_BUF_RCVD_IN_ERR_RING; + break; + case QDF_VDEV_SM_OUT_OF_SYNC: + ret_val = QCA_WLAN_HANG_VDEV_SM_OUT_OF_SYNC; + break; + case QDF_STATS_REQ_TIMEDOUT: + ret_val = QCA_WLAN_HANG_STATS_REQ_TIMEOUT; + break; + case QDF_TX_DESC_LEAK: + ret_val = QCA_WLAN_HANG_TX_DESC_LEAK; + break; + case QDF_SCHED_TIMEOUT: + ret_val = QCA_WLAN_HANG_SCHED_TIMEOUT; + break; + case QDF_SELF_PEER_DEL_FAILED: + ret_val = QCA_WLAN_HANG_SELF_PEER_DEL_FAIL; + break; + case QDF_DEL_SELF_STA_FAILED: + ret_val = QCA_WLAN_HANG_DEL_SELF_STA_FAIL; + break; + case QDF_FLUSH_LOGS: + ret_val = QCA_WLAN_HANG_FLUSH_LOGS; + break; + case QDF_HOST_WAKEUP_REASON_PAGEFAULT: + ret_val = QCA_WLAN_HANG_HOST_WAKEUP_REASON_PAGE_FAULT; + break; case QDF_REASON_UNSPECIFIED: default: ret_val = QCA_WLAN_HANG_REASON_UNSPECIFIED; diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index 93ad2d74da..1812351937 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -691,7 +691,7 @@ wma_vdev_self_peer_delete(tp_wma_handle wma_handle, vdev_id); wma_handle_vdev_detach(wma_handle, pdel_vdev_req_param); mlme_vdev_self_peer_delete_resp(pdel_vdev_req_param); - cds_trigger_recovery(QDF_REASON_UNSPECIFIED); + cds_trigger_recovery(QDF_SELF_PEER_DEL_FAILED); return status; } } else if (iface->type == WMI_VDEV_TYPE_STA || @@ -755,7 +755,7 @@ QDF_STATUS wma_vdev_detach(struct del_vdev_params *pdel_vdev_req_param) send_fail_rsp: wma_err("rcvd del_self_sta without del_bss; vdev_id:%d", vdev_id); - cds_trigger_recovery(QDF_REASON_UNSPECIFIED); + cds_trigger_recovery(QDF_DEL_SELF_STA_FAILED); status = QDF_STATUS_E_FAILURE; return status; }