diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index 60f6d4beef64..4a1245865764 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -1926,10 +1926,19 @@ struct cdp_vdev *wma_vdev_attach(tp_wma_handle wma_handle, struct sir_set_tx_rx_aggregation_size tx_rx_aggregation_size; void *soc = cds_get_context(QDF_MODULE_ID_SOC); + WMA_LOGD("mac %pM, vdev_id %hu, type %d, sub_type %d, nss 2g %d, 5g %d", + self_sta_req->self_mac_addr, self_sta_req->session_id, + self_sta_req->type, self_sta_req->sub_type, + self_sta_req->nss_2g, self_sta_req->nss_5g); if (NULL == mac) { WMA_LOGE("%s: Failed to get mac", __func__); goto end; } + if (wma_handle->interfaces[self_sta_req->session_id].vdev_active) { + WMA_LOGE("%s: vdev %d already active", + __func__, self_sta_req->session_id); + goto end; + } params.if_id = self_sta_req->session_id; params.type = self_sta_req->type; @@ -2050,8 +2059,6 @@ struct cdp_vdev *wma_vdev_attach(tp_wma_handle wma_handle, (self_sta_req->type == WMI_VDEV_TYPE_OCB) || (self_sta_req->type == WMI_VDEV_TYPE_MONITOR) || (self_sta_req->type == WMI_VDEV_TYPE_NDI)) { - WMA_LOGD("Creating self peer %pM, vdev_id %hu", - self_sta_req->self_mac_addr, self_sta_req->session_id); status = wma_create_peer(wma_handle, txrx_pdev, txrx_vdev_handle, self_sta_req->self_mac_addr,