qcacmn: Fix logging in connection manager

Add vdev id and cm id in connection manager logs.

Change-Id: I1061f6daeb940167508e18ece006f425fc6bc775
CRs-Fixed: 2787825
This commit is contained in:
gaurank kathpalia 2020-09-29 16:55:10 +05:30 • committed by snandini
commit 14be947c4e
6 changed files with 77 additions and 41 deletions

View file

@ -146,7 +146,8 @@ cm_ser_connect_cb(struct wlan_serialization_command *cmd,
/* command removed from pending list. */
break;
case WLAN_SER_CB_ACTIVE_CMD_TIMEOUT:
mlme_err("Active command timeout cm_id %d", cmd->cmd_id);
mlme_err(CM_PREFIX_LOG "Active command timeout",
wlan_vdev_get_id(cm_ctx->vdev), cmd->cmd_id);
QDF_ASSERT(0);
cm_connect_cmd_timeout(cm_ctx, cmd->cmd_id);
@ -176,7 +177,8 @@ static QDF_STATUS cm_ser_connect_req(struct wlan_objmgr_pdev *pdev,
status = wlan_objmgr_vdev_try_get_ref(cm_ctx->vdev, WLAN_MLME_CM_ID);
if (QDF_IS_STATUS_ERROR(status)) {
mlme_err("unable to get reference");
mlme_err(CM_PREFIX_LOG "unable to get reference",
wlan_vdev_get_id(cm_ctx->vdev), cm_req->cm_id);
return status;
}
@ -198,7 +200,9 @@ static QDF_STATUS cm_ser_connect_req(struct wlan_objmgr_pdev *pdev,
/* command moved to active list. Do nothing */
break;
default:
mlme_err("ser cmd status %d", ser_cmd_status);
mlme_err(CM_PREFIX_LOG "ser cmd status %d",
wlan_vdev_get_id(cm_ctx->vdev), cm_req->cm_id,
ser_cmd_status);
wlan_objmgr_vdev_release_ref(cm_ctx->vdev, WLAN_MLME_CM_ID);
return QDF_STATUS_E_FAILURE;
@ -268,7 +272,8 @@ QDF_STATUS cm_handle_hw_mode_change(struct cnx_mgr *cm_ctx, wlan_cm_id *cm_id,
pdev = wlan_vdev_get_pdev(cm_ctx->vdev);
if (!pdev) {
mlme_err("Failed to find pdev from vdev");
mlme_err(CM_PREFIX_LOG "Failed to find pdev",
wlan_vdev_get_id(cm_ctx->vdev), *cm_id);
goto send_failure;
}
@ -296,7 +301,7 @@ void cm_hw_mode_change_resp(struct wlan_objmgr_pdev *pdev, uint8_t vdev_id,
enum wlan_cm_sm_evt event = WLAN_CM_SM_EV_HW_MODE_SUCCESS;
struct cnx_mgr *cm_ctx;
mlme_debug("vdev %d cm id %d Continue connect after HW mode change, status %d",
mlme_debug(CM_PREFIX_LOG "Continue connect after HW mode change, status %d",
vdev_id, cm_id, status);
vdev = wlan_objmgr_get_vdev_by_id_from_pdev(pdev, vdev_id,
@ -459,7 +464,9 @@ static QDF_STATUS cm_connect_get_candidates(struct wlan_objmgr_pdev *pdev,
candidate_list = wlan_scan_get_result(pdev, filter);
if (candidate_list) {
num_bss = qdf_list_size(candidate_list);
mlme_debug("num_entries found %d", num_bss);
mlme_debug(CM_PREFIX_LOG "num_entries found %d",
wlan_vdev_get_id(cm_ctx->vdev), cm_req->cm_id,
num_bss);
}
op_mode = wlan_vdev_mlme_get_opmode(cm_ctx->vdev);
@ -470,7 +477,9 @@ static QDF_STATUS cm_connect_get_candidates(struct wlan_objmgr_pdev *pdev,
if (!candidate_list || !qdf_list_size(candidate_list)) {
if (candidate_list)
wlan_scan_purge_results(candidate_list);
mlme_info("No valid candidate found num_bss %d", num_bss);
mlme_info(CM_PREFIX_LOG "no valid candidate found, num_bss %d",
wlan_vdev_get_id(cm_ctx->vdev), cm_req->cm_id,
num_bss);
/*
* Do connect scan only of no candidates were found
* if candidates were found and were removed due to invalid
@ -563,13 +572,15 @@ QDF_STATUS cm_connect_start(struct cnx_mgr *cm_ctx,
/* Interface event */
pdev = wlan_vdev_get_pdev(cm_ctx->vdev);
if (!pdev) {
mlme_err("Failed to find pdev from vdev %d", vdev_id);
mlme_err(CM_PREFIX_LOG "Failed to find pdev", vdev_id,
cm_req->cm_id);
goto connect_err;
}
psoc = wlan_pdev_get_psoc(pdev);
if (!psoc) {
mlme_err("Failed to find psoc from vdev %d", vdev_id);
mlme_err(CM_PREFIX_LOG "Failed to find psoc", vdev_id,
cm_req->cm_id);
goto connect_err;
}
@ -586,11 +597,12 @@ QDF_STATUS cm_connect_start(struct cnx_mgr *cm_ctx,
vdev_id, cm_req->cm_id);
if (QDF_IS_STATUS_ERROR(status) && status != QDF_STATUS_E_ALREADY) {
reason = CM_HW_MODE_FAILURE;
mlme_err("Vdev %d Failed to set HW mode change", vdev_id);
mlme_err(CM_PREFIX_LOG "Failed to set HW mode change",
vdev_id, cm_req->cm_id);
goto connect_err;
} else if (QDF_IS_STATUS_SUCCESS(status)) {
mlme_debug("Vdev %d Connect will continue after HW mode change",
vdev_id);
mlme_debug(CM_PREFIX_LOG "Connect will continue after HW mode change",
vdev_id, cm_req->cm_id);
return QDF_STATUS_SUCCESS;
}
@ -627,9 +639,10 @@ static QDF_STATUS cm_get_valid_candidate(struct cnx_mgr *cm_ctx,
if (cm_req->connect_req.connect_attempts >=
cm_ctx->max_connect_attempts) {
mlme_info("%d attempts tried for the connect req (cm id %d), max %d",
mlme_info(CM_PREFIX_LOG "%d attempts tried, max %d",
wlan_vdev_get_id(cm_ctx->vdev), cm_req->cm_id,
cm_req->connect_req.connect_attempts,
cm_req->cm_id, cm_ctx->max_connect_attempts);
cm_ctx->max_connect_attempts);
return QDF_STATUS_E_FAILURE;
}
@ -665,7 +678,8 @@ static QDF_STATUS cm_get_valid_candidate(struct cnx_mgr *cm_ctx,
* candidates left for connect now.
*/
if (!cur_node) {
mlme_debug("No more candidates left");
mlme_debug(CM_PREFIX_LOG "No more candidates left",
wlan_vdev_get_id(cm_ctx->vdev), cm_req->cm_id);
cm_req->connect_req.cur_candidate = NULL;
return QDF_STATUS_E_FAILURE;
}
@ -688,7 +702,8 @@ static void cm_create_bss_peer(struct cnx_mgr *cm_ctx,
struct wlan_cm_connect_rsp *resp;
/* In case of failure try with next candidate */
mlme_err("peer create request failed %d", status);
mlme_err(CM_PREFIX_LOG "peer create request failed %d",
wlan_vdev_get_id(cm_ctx->vdev), req->cm_id, status);
resp = qdf_mem_malloc(sizeof(*resp));
if (!resp)
@ -720,7 +735,8 @@ cm_send_bss_select_ind(struct cnx_mgr *cm_ctx, struct cm_connect_req *req)
return status;
/* In supported and failure try with next candidate */
mlme_err("mlme candidate select indication failed %d", status);
mlme_err(CM_PREFIX_LOG "mlme candidate select indication failed %d",
wlan_vdev_get_id(cm_ctx->vdev), req->cm_id, status);
resp = qdf_mem_malloc(sizeof(*resp));
if (!resp)
return QDF_STATUS_E_FAILURE;
@ -844,7 +860,8 @@ cm_resume_connect_after_peer_create(struct cnx_mgr *cm_ctx, wlan_cm_id *cm_id)
status = mlme_cm_connect_req(cm_ctx->vdev, &req);
if (QDF_IS_STATUS_ERROR(status)) {
mlme_err("connect request failed for *cm_id %x", *cm_id);
mlme_err(CM_PREFIX_LOG "connect request failed",
wlan_vdev_get_id(cm_ctx->vdev), *cm_id);
status = cm_send_connect_start_fail(cm_ctx,
&cm_req->connect_req,
CM_JOIN_FAILED);
@ -862,7 +879,8 @@ cm_inform_blm_connect_complete(struct wlan_objmgr_vdev *vdev,
pdev = wlan_vdev_get_pdev(vdev);
if (!pdev) {
mlme_err("Failed to find pdev from vdev");
mlme_err(CM_PREFIX_LOG "Failed to find pdev",
wlan_vdev_get_id(vdev), resp->cm_id);
return QDF_STATUS_E_FAILURE;
}
@ -958,8 +976,8 @@ QDF_STATUS cm_connect_rsp(struct wlan_objmgr_vdev *vdev,
prefix = CM_ID_GET_PREFIX(cm_id);
if (prefix != CONNECT_REQ_PREFIX || cm_id != resp->cm_id) {
mlme_err("Active req %x is not connect req connect req cm_id %x",
cm_id, resp->cm_id);
mlme_err(CM_PREFIX_LOG " Active cm_id 0x%x is different",
wlan_vdev_get_id(cm_ctx->vdev), resp->cm_id, cm_id);
qdf_status = QDF_STATUS_E_FAILURE;
goto post_err;
}
@ -1015,7 +1033,8 @@ QDF_STATUS cm_bss_select_ind_rsp(struct wlan_objmgr_vdev *vdev,
prefix = CM_ID_GET_PREFIX(cm_id);
if (prefix != CONNECT_REQ_PREFIX) {
mlme_err("Active req %x is not connect req", cm_id);
mlme_err("vdev %d active req 0x%x is not connect req",
wlan_vdev_get_id(cm_ctx->vdev), cm_id);
return QDF_STATUS_E_INVAL;
}
@ -1075,7 +1094,8 @@ QDF_STATUS cm_bss_peer_create_rsp(struct wlan_objmgr_vdev *vdev,
prefix = CM_ID_GET_PREFIX(cm_id);
if (prefix != CONNECT_REQ_PREFIX) {
mlme_err("Active req %x is not connect req", cm_id);
mlme_err("vdev %d active req 0x%x is not connect req",
wlan_vdev_get_id(cm_ctx->vdev), cm_id);
mlme_cm_bss_peer_delete_req(vdev);
return QDF_STATUS_E_INVAL;
}

View file

@ -53,7 +53,8 @@ cm_ser_disconnect_cb(struct wlan_serialization_command *cmd,
/* command removed from pending list. */
break;
case WLAN_SER_CB_ACTIVE_CMD_TIMEOUT:
mlme_err("Active command timeout cm_id %d", cmd->cmd_id);
mlme_err(CM_PREFIX_LOG "Active command timeout",
wlan_vdev_get_id(vdev), cmd->cmd_id);
QDF_ASSERT(0);
break;
case WLAN_SER_CB_RELEASE_MEM_CMD:
@ -81,7 +82,8 @@ static QDF_STATUS cm_ser_disconnect_req(struct wlan_objmgr_pdev *pdev,
status = wlan_objmgr_vdev_try_get_ref(cm_ctx->vdev, WLAN_MLME_CM_ID);
if (QDF_IS_STATUS_ERROR(status)) {
mlme_err("unable to get reference");
mlme_err(CM_PREFIX_LOG "unable to get reference",
wlan_vdev_get_id(cm_ctx->vdev), req->cm_id);
return status;
}
@ -103,7 +105,9 @@ static QDF_STATUS cm_ser_disconnect_req(struct wlan_objmgr_pdev *pdev,
/* command moved to active list. Do nothing */
break;
default:
mlme_err("ser cmd status %d", ser_cmd_status);
mlme_err(CM_PREFIX_LOG "ser cmd status %d",
wlan_vdev_get_id(cm_ctx->vdev), req->cm_id,
ser_cmd_status);
wlan_objmgr_vdev_release_ref(cm_ctx->vdev, WLAN_MLME_CM_ID);
return QDF_STATUS_E_FAILURE;

View file

@ -79,7 +79,6 @@ QDF_STATUS wlan_cm_init(struct vdev_mlme_obj *vdev_mlme)
vdev_mlme->cnx_mgr_ctx->vdev = vdev_mlme->vdev;
status = cm_sm_create(vdev_mlme->cnx_mgr_ctx);
if (QDF_IS_STATUS_ERROR(status)) {
mlme_err("CM MLME SM allocation failed");
qdf_mem_free(vdev_mlme->cnx_mgr_ctx);
vdev_mlme->cnx_mgr_ctx = NULL;
return QDF_STATUS_E_NOMEM;

View file

@ -36,6 +36,8 @@
#define CM_ID_GET_PREFIX(cm_id) cm_id & 0xFFFF0000
#define CM_PREFIX_LOG "vdev %d cm_id 0x%x: "
/*************** CONNECT APIs ****************/
/**

View file

@ -27,7 +27,8 @@ void cm_set_state(struct cnx_mgr *cm_ctx, enum wlan_cm_sm_state state)
if (state < WLAN_CM_S_MAX)
cm_ctx->sm.cm_state = state;
else
mlme_err("mlme state (%d) is invalid", state);
mlme_err("vdev %d mlme state (%d) is invalid",
wlan_vdev_get_id(cm_ctx->vdev), state);
}
void cm_set_substate(struct cnx_mgr *cm_ctx, enum wlan_cm_sm_state substate)
@ -35,7 +36,8 @@ void cm_set_substate(struct cnx_mgr *cm_ctx, enum wlan_cm_sm_state substate)
if ((substate > WLAN_CM_S_MAX) && (substate < WLAN_CM_SS_MAX))
cm_ctx->sm.cm_substate = substate;
else
mlme_err(" mlme sub state (%d) is invalid", substate);
mlme_err("vdev %d mlme sub state (%d) is invalid",
wlan_vdev_get_id(cm_ctx->vdev), substate);
}
void cm_sm_state_update(struct cnx_mgr *cm_ctx,
@ -43,7 +45,8 @@ void cm_sm_state_update(struct cnx_mgr *cm_ctx,
enum wlan_cm_sm_state substate)
{
if (!cm_ctx) {
mlme_err("cm_ctx is NULL");
mlme_err("vdev %d cm_ctx is NULL",
wlan_vdev_get_id(cm_ctx->vdev));
return;
}
@ -848,7 +851,8 @@ QDF_STATUS cm_sm_deliver_event(struct wlan_objmgr_vdev *vdev,
struct cnx_mgr *cm_ctx;
if (op_mode != QDF_STA_MODE && op_mode != QDF_P2P_CLIENT_MODE) {
mlme_err("Invalid mode %d", op_mode);
mlme_err("vdev %d Invalid mode %d",
wlan_vdev_get_id(cm_ctx->vdev), op_mode);
return QDF_STATUS_E_NOSUPPORT;
}
@ -889,7 +893,8 @@ QDF_STATUS cm_sm_create(struct cnx_mgr *cm_ctx)
cm_sm_event_names,
QDF_ARRAY_SIZE(cm_sm_event_names));
if (!sm) {
mlme_err("CM MLME SM allocation failed");
mlme_err("vdev %d CM State Machine allocation failed",
wlan_vdev_get_id(cm_ctx->vdev));
return QDF_STATUS_E_NOMEM;
}
cm_ctx->sm.sm_hdl = sm;

View file

@ -58,7 +58,7 @@ struct cnx_mgr *cm_get_cm_ctx_fl(struct wlan_objmgr_vdev *vdev,
cm_ctx = vdev_mlme->cnx_mgr_ctx;
if (!cm_ctx)
mlme_nofl_err("%s:%u: cm_ctx NULL vdev %d", func, line,
mlme_nofl_err("%s:%u: vdev %d cm_ctx is NULL", func, line,
wlan_vdev_get_id(vdev));
return cm_ctx;
@ -139,7 +139,7 @@ bool cm_check_cmid_match_list_head(struct cnx_mgr *cm_ctx, wlan_cm_id *cm_id)
exit:
cm_req_lock_release(cm_ctx);
if (!match)
mlme_info("head_cm_id %d didn't match the given cm_id %d",
mlme_info("head_cm_id 0x%x didn't match the given cm_id 0x%x",
head_cm_id, *cm_id);
return match;
@ -174,7 +174,7 @@ bool cm_check_scanid_match_list_head(struct cnx_mgr *cm_ctx,
exit:
cm_req_lock_release(cm_ctx);
if (!match)
mlme_info("head_scan_id %d didn't match the given scan_id %d prefix %x",
mlme_info("head_scan_id 0x%x didn't match the given scan_id 0x%x prefix 0x%x",
head_scan_id, *scan_id, prefix);
return match;
@ -202,7 +202,7 @@ struct cm_req *cm_get_req_by_cm_id_fl(struct cnx_mgr *cm_ctx, wlan_cm_id cm_id,
}
cm_req_lock_release(cm_ctx);
mlme_nofl_info("%s:%u: cm req not found for cm id %d", func,
mlme_nofl_info("%s:%u: cm req not found for cm id 0x%x", func,
line, cm_id);
return NULL;
@ -268,7 +268,9 @@ QDF_STATUS cm_add_req_to_list_and_indicate_osif(struct cnx_mgr *cm_ctx,
cm_req_lock_acquire(cm_ctx);
if (qdf_list_size(&cm_ctx->req_list) >= CM_MAX_REQ) {
cm_req_lock_release(cm_ctx);
mlme_err("List full size %d", qdf_list_size(&cm_ctx->req_list));
mlme_err(CM_PREFIX_LOG "List full size %d",
wlan_vdev_get_id(cm_ctx->vdev), cm_req->cm_id,
qdf_list_size(&cm_ctx->req_list));
return QDF_STATUS_E_FAILURE;
}
@ -334,7 +336,8 @@ cm_delete_req_from_list(struct cnx_mgr *cm_ctx, wlan_cm_id cm_id)
if (!cm_req) {
cm_req_lock_release(cm_ctx);
mlme_err("cm req id %d not found", cm_id);
mlme_err("vdev %d cm req id %d not found",
wlan_vdev_get_id(cm_ctx->vdev), cm_id);
return QDF_STATUS_E_FAILURE;
}
@ -361,7 +364,8 @@ void cm_remove_cmd(struct cnx_mgr *cm_ctx, wlan_cm_id cm_id)
psoc = wlan_vdev_get_psoc(cm_ctx->vdev);
if (!psoc) {
mlme_err("Failed to find psoc from vdev");
mlme_err(CM_PREFIX_LOG "Failed to find psoc",
wlan_vdev_get_id(cm_ctx->vdev), cm_id);
return;
}
@ -408,7 +412,8 @@ void cm_vdev_scan_cancel(struct wlan_objmgr_pdev *pdev,
status = wlan_scan_cancel(req);
/* In success/failure case wlan_scan_cancel free the req memory */
if (QDF_IS_STATUS_ERROR(status))
mlme_err("Cancel scan request failed");
mlme_err("vdev %d cancel scan request failed",
wlan_vdev_get_id(vdev));
}
void cm_set_max_connect_attempts(struct wlan_objmgr_vdev *vdev,
@ -422,7 +427,8 @@ void cm_set_max_connect_attempts(struct wlan_objmgr_vdev *vdev,
cm_ctx->max_connect_attempts =
QDF_MIN(max_connect_attempts, CM_MAX_CONNECT_ATTEMPTS);
mlme_debug("max connect attempts set to %d, requested %d",
mlme_debug("vdev %d max connect attempts set to %d, requested %d",
wlan_vdev_get_id(vdev),
cm_ctx->max_connect_attempts, max_connect_attempts);
}