qcacmn: Update TX bank profile for STA + TDLS case
Search flag addrX and addrY will be enabled for STA + TDLS case, but currently TX bank profile is not updated which then STA still use default TX bank profile - index based lookup search, TX might fail. Update bank profile with addrX and addrY search enabled. Change-Id: I6af12d3707b59c5d4b4bba1fc5ec05a22bfcd984 CRs-Fixed: 3148759
This commit is contained in:

committed by
Madan Koyyalamudi

parent
7c3b36f765
commit
8180dff19c
@@ -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:
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user