summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHsiu-Chang Chen <hsiuchangchen@google.com>2023-01-16 16:06:33 +0530
committerHsiu-Chang Chen <hsiuchangchen@google.com>2023-03-20 10:07:09 +0800
commit3db853186d71ed0258c07313675624c01cbe9b04 (patch)
tree38902b2ce8840c9788fa58dd5a9c5d485ffa9e65
parent0b4913c84ae411d4f5cfc355349369ed6778c156 (diff)
downloadwlan-3db853186d71ed0258c07313675624c01cbe9b04.tar.gz
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. Bug: 267416490 Test: Regression test Change-Id: Id617c2bbfd72b0e83b50f522fd1313fbc9eea2cc CRs-Fixed: 3381230 Signed-off-by: Hsiu-Chang Chen <hsiuchangchen@google.com>
-rw-r--r--qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c27
-rw-r--r--qcacld-3.0/core/wma/src/wma_dev_if.c4
2 files changed, 29 insertions, 2 deletions
diff --git a/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c b/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c
index 9a46c9c..760a74b 100644
--- a/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c
+++ b/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c
@@ -1188,6 +1188,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/qcacld-3.0/core/wma/src/wma_dev_if.c b/qcacld-3.0/core/wma/src/wma_dev_if.c
index 17e60dc..358b028 100644
--- a/qcacld-3.0/core/wma/src/wma_dev_if.c
+++ b/qcacld-3.0/core/wma/src/wma_dev_if.c
@@ -688,7 +688,7 @@ static QDF_STATUS 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) {
@@ -751,7 +751,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;
}