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
这个提交包含在:
@@ -1298,6 +1298,33 @@ hdd_convert_hang_reason(enum qdf_hang_reason reason)
|
|||||||
case QDF_TASKLET_CREDIT_LATENCY_DETECT:
|
case QDF_TASKLET_CREDIT_LATENCY_DETECT:
|
||||||
ret_val = QCA_WLAN_HANG_TASKLET_CREDIT_LATENCY_DETECT;
|
ret_val = QCA_WLAN_HANG_TASKLET_CREDIT_LATENCY_DETECT;
|
||||||
break;
|
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:
|
case QDF_REASON_UNSPECIFIED:
|
||||||
default:
|
default:
|
||||||
ret_val = QCA_WLAN_HANG_REASON_UNSPECIFIED;
|
ret_val = QCA_WLAN_HANG_REASON_UNSPECIFIED;
|
||||||
|
@@ -691,7 +691,7 @@ wma_vdev_self_peer_delete(tp_wma_handle wma_handle,
|
|||||||
vdev_id);
|
vdev_id);
|
||||||
wma_handle_vdev_detach(wma_handle, pdel_vdev_req_param);
|
wma_handle_vdev_detach(wma_handle, pdel_vdev_req_param);
|
||||||
mlme_vdev_self_peer_delete_resp(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;
|
return status;
|
||||||
}
|
}
|
||||||
} else if (iface->type == WMI_VDEV_TYPE_STA ||
|
} 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:
|
send_fail_rsp:
|
||||||
wma_err("rcvd del_self_sta without del_bss; vdev_id:%d", vdev_id);
|
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;
|
status = QDF_STATUS_E_FAILURE;
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
在新工单中引用
屏蔽一个用户