summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVarun Reddy Yeturu <varunreddy.yeturu@codeaurora.org>2017-10-24 14:20:00 -0700
committersnandini <snandini@codeaurora.org>2017-10-25 02:05:19 -0700
commitfb8f6f2d036158161ea9990e7dbcde1576857f78 (patch)
tree1075dbc4b62980d505fe31d5e699ef9c116d7cad
parenta53658861874ce3785549326d77ad00034bb6f24 (diff)
qcacld-3.0: Check vdev status before sending vdev up
Check the vdev status if it is already UP before sending the vdev up command to the firmware. Take care of the below scenario by not sending the vdev up as the firmware cannot handle another vdev up command if the vdev is already UP. 1)STA mode VDEV restart is going on and host sends VDEV restart request to FW. 2)At the same time peer assoc request message is posted from LIM to WMA. 3)FW WMI VDEV start response is received through WMI_VDEV_RESTART_RESP_EVENT. 4)In this case 2) will send vdev up and no 3) also will send the second vdev up. Change-Id: I7fe97473c26a0653b8328d1dab2e5799cbd21f10 CRs-Fixed: 2131729
-rw-r--r--core/wma/src/wma_utils.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/wma/src/wma_utils.c b/core/wma/src/wma_utils.c
index c2ceadea0428..72e168f43441 100644
--- a/core/wma/src/wma_utils.c
+++ b/core/wma/src/wma_utils.c
@@ -5887,6 +5887,11 @@ QDF_STATUS wma_send_vdev_up_to_fw(t_wma_handle *wma,
QDF_STATUS status;
struct wma_txrx_node *vdev = &wma->interfaces[params->vdev_id];
+ if (vdev->vdev_up == true) {
+ WMA_LOGD("vdev %d is already up for bssid %pM. Do not send",
+ params->vdev_id, bssid);
+ return QDF_STATUS_SUCCESS;
+ }
status = wmi_unified_vdev_up_send(wma->wmi_handle, bssid, params);
wma_release_wakelock(&vdev->vdev_start_wakelock);