diff --git a/dp/wifi3.0/be/dp_be.c b/dp/wifi3.0/be/dp_be.c index 918ab949b0..b2ec69241d 100644 --- a/dp/wifi3.0/be/dp_be.c +++ b/dp/wifi3.0/be/dp_be.c @@ -1512,6 +1512,7 @@ QDF_STATUS dp_txrx_set_vdev_param_be(struct dp_soc *soc, switch (param) { case CDP_TX_ENCAP_TYPE: case CDP_UPDATE_DSCP_TO_TID_MAP: + case CDP_UPDATE_TDLS_FLAGS: dp_tx_update_bank_profile(be_soc, be_vdev); break; case CDP_ENABLE_CIPHER: diff --git a/dp/wifi3.0/be/dp_be_tx.c b/dp/wifi3.0/be/dp_be_tx.c index 0abde3ee6d..c042eb6421 100644 --- a/dp/wifi3.0/be/dp_be_tx.c +++ b/dp/wifi3.0/be/dp_be_tx.c @@ -705,7 +705,6 @@ void dp_tx_get_vdev_bank_config(struct dp_vdev_be *be_vdev, union hal_tx_bank_config *bank_config) { struct dp_vdev *vdev = &be_vdev->vdev; - struct dp_soc *soc = vdev->pdev->soc; bank_config->epd = 0; @@ -721,8 +720,8 @@ void dp_tx_get_vdev_bank_config(struct dp_vdev_be *be_vdev, bank_config->src_buffer_swap = 0; bank_config->link_meta_swap = 0; - if ((soc->sta_mode_search_policy == HAL_TX_ADDR_INDEX_SEARCH) && - vdev->opmode == wlan_op_mode_sta) { + if ((vdev->search_type == HAL_TX_ADDR_INDEX_SEARCH) && + vdev->opmode == wlan_op_mode_sta) { bank_config->index_lookup_enable = 1; bank_config->mcast_pkt_ctrl = HAL_TX_MCAST_CTRL_MEC_NOTIFY; bank_config->addrx_en = 0; diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index bbdc47612a..915bfa61d2 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -10203,8 +10203,8 @@ dp_set_vdev_param(struct cdp_soc_t *cdp_soc, uint8_t vdev_id, break; } - dsoc->arch_ops.txrx_set_vdev_param(dsoc, vdev, param, val); dp_tx_vdev_update_search_flags((struct dp_vdev *)vdev); + dsoc->arch_ops.txrx_set_vdev_param(dsoc, vdev, param, val); dp_vdev_unref_delete(dsoc, vdev, DP_MOD_ID_CDP); return QDF_STATUS_SUCCESS; diff --git a/dp/wifi3.0/dp_tx.c b/dp/wifi3.0/dp_tx.c index 31a9f8a4ad..b17c759191 100644 --- a/dp/wifi3.0/dp_tx.c +++ b/dp/wifi3.0/dp_tx.c @@ -5233,7 +5233,7 @@ void dp_tx_vdev_update_search_flags(struct dp_vdev *vdev) else vdev->hal_desc_addr_search_flags = HAL_TX_DESC_ADDRX_EN; - if (vdev->opmode == wlan_op_mode_sta) + if (vdev->opmode == wlan_op_mode_sta && !vdev->tdls_link_connected) vdev->search_type = soc->sta_mode_search_policy; else vdev->search_type = HAL_TX_ADDR_SEARCH_DEFAULT;