diff options
author | Hsiu-Chang Chen <hsiuchangchen@google.com> | 2023-01-16 16:06:33 +0530 |
---|---|---|
committer | Hsiu-Chang Chen <hsiuchangchen@google.com> | 2023-03-20 10:07:09 +0800 |
commit | 3db853186d71ed0258c07313675624c01cbe9b04 (patch) | |
tree | 38902b2ce8840c9788fa58dd5a9c5d485ffa9e65 | |
parent | 0b4913c84ae411d4f5cfc355349369ed6778c156 (diff) | |
download | wlan-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.c | 27 | ||||
-rw-r--r-- | qcacld-3.0/core/wma/src/wma_dev_if.c | 4 |
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; } |