diff options
| author | Srinivas Girigowda <sgirigow@codeaurora.org> | 2017-10-19 16:22:37 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-10-19 22:32:07 -0700 |
| commit | ffa1a14b0cd06af8eafb7590ee5bd7b69866f1ab (patch) | |
| tree | 56cdc9ef95525bd4dfc06cee2aff51f0fae5e0f4 | |
| parent | 89676bcd82cd2d8d8d0cd3ebf01a2199ca4e26ec (diff) | |
qcacld-3.0: Set vdev_up flag to false for all missing cases
Currently, vdev_up flag is not set to false in all the missing cases,
Identify all the places and set vdev_up flag to false.
Change-Id: Ia527071036b9210051edc62f76f195f5ce5876b7
CRs-Fixed: 2129709
| -rw-r--r-- | core/wma/src/wma_dev_if.c | 29 | ||||
| -rw-r--r-- | core/wma/src/wma_mgmt.c | 1 | ||||
| -rw-r--r-- | core/wma/src/wma_scan_roam.c | 1 |
3 files changed, 28 insertions, 3 deletions
diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index d5311d24d54e..b837a0d52b33 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -1086,9 +1086,11 @@ int wma_vdev_start_resp_handler(void *handle, uint8_t *cmd_param_info, WMA_LOGE("%s:vdev_up failed vdev_id %d", __func__, resp_event->vdev_id); iface->vdev_up = false; + WMA_LOGD(FL("Setting vdev_up flag to false")); cds_set_do_hw_mode_change_flag(false); } else { iface->vdev_up = true; + WMA_LOGD(FL("Setting vdev_up flag to true")); if (iface->beacon_filter_enabled) wma_add_beacon_filter(wma, &iface->beacon_filter); @@ -1113,6 +1115,7 @@ int wma_vdev_start_resp_handler(void *handle, uint8_t *cmd_param_info, return -EEXIST; } iface->vdev_up = true; + WMA_LOGD(FL("Setting vdev_up flag to true")); wma_ocb_start_resp_ind_cont(wma); } @@ -1690,6 +1693,7 @@ wma_send_del_bss_response(tp_wma_handle wma, struct wma_target_req *req, WMA_LOGE("Failed to send vdev down cmd: vdev %d", vdev_id); } else { wma->interfaces[vdev_id].vdev_up = false; + WMA_LOGD(FL("Setting vdev_up flag to false")); wma_check_and_find_mcc_ap(wma, vdev_id); } ol_txrx_vdev_flush(iface->handle); @@ -1792,6 +1796,7 @@ int wma_vdev_stop_resp_handler(void *handle, uint8_t *cmd_param_info, __func__); wma->interfaces[resp_event->vdev_id].vdev_up = false; + WMA_LOGD(FL("Setting vdev_up flag to false")); new_req_msg = wma_fill_vdev_req(wma, resp_event->vdev_id, WMA_HIDDEN_SSID_VDEV_RESTART, WMA_TARGET_REQ_TYPE_VDEV_START, @@ -1920,7 +1925,11 @@ int wma_vdev_stop_resp_handler(void *handle, uint8_t *cmd_param_info, QDF_STATUS_SUCCESS) { WMA_LOGE("Failed to send vdev down cmd: vdev %d", req_msg->vdev_id); + } else { + iface->vdev_up = false; + WMA_LOGD(FL("Setting vdev_up flag to false")); } + wma_send_msg(wma, WMA_SET_LINK_STATE_RSP, (void *)params, 0); } free_req_msg: @@ -2562,6 +2571,7 @@ QDF_STATUS wma_vdev_start(tp_wma_handle wma, * in the firmware. */ intr[params.vdev_id].vdev_up = false; + WMA_LOGD(FL("Setting vdev_up flag to false")); } else { WMA_LOGD("%s, vdev_id: %d, unpausing tx_ll_queue at VDEV_START", __func__, params.vdev_id); @@ -2787,10 +2797,16 @@ int wma_peer_delete_handler(void *handle, uint8_t *cmd_param_info, } else if (req_msg->type == WMA_SET_LINK_PEER_RSP) { tpLinkStateParams params = (tpLinkStateParams) req_msg->user_data; + struct wma_txrx_node *iface; + + iface = &wma->interfaces[req_msg->vdev_id]; if (wma_send_vdev_down_to_fw(wma, req_msg->vdev_id) != QDF_STATUS_SUCCESS) { WMA_LOGE("Failed to send vdev down cmd: vdev %d", req_msg->vdev_id); + } else { + iface->vdev_up = false; + WMA_LOGD(FL("Setting vdev_up flag to false")); } wma_send_msg(wma, WMA_SET_LINK_STATE_RSP, (void *)params, 0); @@ -3027,6 +3043,7 @@ void wma_vdev_resp_timer(void *data) ol_txrx_pdev_handle pdev; uint8_t peer_id; struct wma_target_req *msg; + struct wma_txrx_node *iface; #ifdef FEATURE_AP_MCC_CH_AVOIDANCE tpAniSirGlobal mac_ctx; #endif /* FEATURE_AP_MCC_CH_AVOIDANCE */ @@ -3067,6 +3084,7 @@ void wma_vdev_resp_timer(void *data) } #endif /* FEATURE_AP_MCC_CH_AVOIDANCE */ + iface = &wma->interfaces[tgt_req->vdev_id]; if (tgt_req->msg_type == WMA_CHNL_SWITCH_REQ) { tpSwitchChannelParams params = (tpSwitchChannelParams) tgt_req->user_data; @@ -3137,6 +3155,7 @@ void wma_vdev_resp_timer(void *data) tgt_req->vdev_id); } else { wma->interfaces[tgt_req->vdev_id].vdev_up = false; + WMA_LOGD(FL("Setting vdev_up flag to false")); #ifdef FEATURE_AP_MCC_CH_AVOIDANCE if (mac_ctx->sap.sap_channel_avoidance) wma_find_mcc_ap(wma, tgt_req->vdev_id, false); @@ -3216,11 +3235,9 @@ void wma_vdev_resp_timer(void *data) goto free_tgt_req; } else if (tgt_req->msg_type == WMA_OCB_SET_CONFIG_CMD) { - struct wma_txrx_node *iface; - WMA_LOGE(FL("Failed to send OCB set config cmd")); - iface = &wma->interfaces[tgt_req->vdev_id]; iface->vdev_up = false; + WMA_LOGD(FL("Setting vdev_up flag to false")); wma_ocb_set_config_resp(wma, QDF_STATUS_E_TIMEOUT); } else if (tgt_req->msg_type == WMA_HIDDEN_SSID_VDEV_RESTART) { WMA_LOGE("Hidden ssid vdev restart Timed Out; vdev_id: %d, type = %d", @@ -3240,6 +3257,9 @@ void wma_vdev_resp_timer(void *data) QDF_STATUS_SUCCESS) { WMA_LOGE("Failed to send vdev down cmd: vdev %d", tgt_req->vdev_id); + } else { + iface->vdev_up = false; + WMA_LOGD(FL("Setting vdev_up flag to false")); } params->status = QDF_STATUS_E_TIMEOUT; WMA_LOGA("%s: WMA_SET_LINK_STATE timedout vdev %d", __func__, @@ -4601,6 +4621,7 @@ static void wma_add_sta_req_sta_mode(tp_wma_handle wma, tpAddStaParams params) status = QDF_STATUS_E_FAILURE; } else { wma->interfaces[params->smesessionId].vdev_up = true; + WMA_LOGD(FL("Setting vdev_up flag to true")); wma_set_vdev_mgmt_rate(wma, params->smesessionId); } @@ -5043,6 +5064,7 @@ void wma_delete_bss_ho_fail(tp_wma_handle wma, tpDeleteBssParams params) WMA_LOGD("%s: (type %d subtype %d) BSS is stopped", __func__, iface->type, iface->sub_type); iface->vdev_up = false; + WMA_LOGD(FL("Setting vdev_up flag to false")); params->status = QDF_STATUS_SUCCESS; if (!iface->peer_count) { WMA_LOGE("%s: Can't remove peer with peer_addr %pM vdevid %d peer_count %d", @@ -5201,6 +5223,7 @@ void wma_delete_bss(tp_wma_handle wma, tpDeleteBssParams params) WMA_LOGD("LFR3:%s: Setting vdev_up to FALSE for session %d", __func__, params->smesessionId); iface->vdev_up = false; + WMA_LOGD(FL("Setting vdev_up flag to false")); goto detach_peer; } msg = wma_fill_vdev_req(wma, params->smesessionId, WMA_DELETE_BSS_REQ, diff --git a/core/wma/src/wma_mgmt.c b/core/wma/src/wma_mgmt.c index 06a50500fff6..9b9d190e6324 100644 --- a/core/wma/src/wma_mgmt.c +++ b/core/wma/src/wma_mgmt.c @@ -2652,6 +2652,7 @@ void wma_send_beacon(tp_wma_handle wma, tpSendbeaconParams bcn_info) return; } wma->interfaces[vdev_id].vdev_up = true; + WMA_LOGD(FL("Setting vdev_up flag to true")); wma_set_sap_keepalive(wma, vdev_id); wma_set_vdev_mgmt_rate(wma, vdev_id); } diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index 72c9d800fb9c..7b6501d8df14 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -2657,6 +2657,7 @@ static void wma_roam_update_vdev(tp_wma_handle wma, wma_add_bss(wma, (tpAddBssParams)roam_synch_ind_ptr->add_bss_params); wma_add_sta(wma, add_sta_params); wma->interfaces[vdev_id].vdev_up = true; + WMA_LOGD(FL("Setting vdev_up flag to true")); qdf_mem_copy(wma->interfaces[vdev_id].bssid, roam_synch_ind_ptr->bssid.bytes, IEEE80211_ADDR_LEN); qdf_mem_free(del_bss_params); |
