diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 2655e2dba5..362fbb85a5 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -10282,7 +10282,8 @@ dp_set_vdev_param(struct cdp_soc_t *cdp_soc, uint8_t vdev_id, break; #ifdef QCA_SUPPORT_WDS_EXTENDED case CDP_CFG_WDS_EXT: - vdev->wds_ext_enabled = val.cdp_vdev_param_wds_ext; + if (vdev->opmode == wlan_op_mode_ap) + vdev->wds_ext_enabled = val.cdp_vdev_param_wds_ext; break; #endif case CDP_ENABLE_PEER_AUTHORIZE: diff --git a/dp/wifi3.0/dp_txrx_wds.h b/dp/wifi3.0/dp_txrx_wds.h index 3a1ee61a4e..68e0904002 100644 --- a/dp/wifi3.0/dp_txrx_wds.h +++ b/dp/wifi3.0/dp_txrx_wds.h @@ -174,7 +174,9 @@ dp_rx_wds_add_or_update_ast(struct dp_soc *soc, ta_base_peer = dp_peer_get_ref_by_id(soc, ta_peer->peer_id, DP_MOD_ID_RX); if (ta_base_peer) { - dp_wds_ext_peer_learn(soc, ta_base_peer); + if (ta_peer->vdev->opmode == wlan_op_mode_ap) + dp_wds_ext_peer_learn(soc, ta_base_peer); + ret = dp_peer_add_ast(soc, ta_base_peer, wds_src_mac, CDP_TXRX_AST_TYPE_WDS, flags);