diff --git a/core/src/wlan_p2p_main.c b/core/src/wlan_p2p_main.c index ba86929c088c..e76f06ffb40d 100644 --- a/core/src/wlan_p2p_main.c +++ b/core/src/wlan_p2p_main.c @@ -1164,6 +1164,7 @@ void p2p_peer_authorized(struct wlan_objmgr_vdev *vdev, uint8_t *mac_addr) QDF_STATUS status; struct wlan_objmgr_psoc *psoc; struct wlan_objmgr_peer *peer; + uint8_t pdev_id; if (!vdev) { p2p_err("vdev:%pK", vdev); @@ -1174,7 +1175,8 @@ void p2p_peer_authorized(struct wlan_objmgr_vdev *vdev, uint8_t *mac_addr) p2p_err("psoc:%pK", psoc); return; } - peer = wlan_objmgr_get_peer(psoc, mac_addr, WLAN_P2P_ID); + pdev_id = wlan_objmgr_pdev_get_pdev_id(wlan_vdev_get_pdev(vdev)); + peer = wlan_objmgr_get_peer(psoc, pdev_id, mac_addr, WLAN_P2P_ID); if (!peer) { p2p_debug("peer info not found"); return; diff --git a/core/src/wlan_p2p_off_chan_tx.c b/core/src/wlan_p2p_off_chan_tx.c index 6af91f761b67..65b514c4f2b8 100644 --- a/core/src/wlan_p2p_off_chan_tx.c +++ b/core/src/wlan_p2p_off_chan_tx.c @@ -466,16 +466,19 @@ static QDF_STATUS p2p_populate_mac_header( struct wlan_objmgr_psoc *psoc; void *mac_addr; uint16_t seq_num; + uint8_t pdev_id; psoc = tx_ctx->p2p_soc_obj->soc; wh = (struct wlan_frame_hdr *)tx_ctx->buf; mac_addr = wh->i_addr1; - peer = wlan_objmgr_get_peer(psoc, mac_addr, WLAN_P2P_ID); + pdev_id = wlan_get_pdev_id_from_vdev_id(psoc, tx_ctx->vdev_id, + WLAN_P2P_ID); + peer = wlan_objmgr_get_peer(psoc, pdev_id, mac_addr, WLAN_P2P_ID); if (!peer) { mac_addr = wh->i_addr2; - peer = wlan_objmgr_get_peer(psoc, mac_addr, - WLAN_P2P_ID); + peer = wlan_objmgr_get_peer(psoc, pdev_id, mac_addr, + WLAN_P2P_ID); } if (!peer) { @@ -877,6 +880,7 @@ static QDF_STATUS p2p_mgmt_tx(struct tx_action_context *tx_ctx, struct wmi_mgmt_params mgmt_param = { 0 }; struct wlan_objmgr_psoc *psoc; void *mac_addr; + uint8_t pdev_id; psoc = tx_ctx->p2p_soc_obj->soc; mgmt_param.tx_frame = packet; @@ -893,11 +897,13 @@ static QDF_STATUS p2p_mgmt_tx(struct tx_action_context *tx_ctx, wh = (struct wlan_frame_hdr *)frame; mac_addr = wh->i_addr1; - peer = wlan_objmgr_get_peer(psoc, mac_addr, WLAN_P2P_ID); + pdev_id = wlan_get_pdev_id_from_vdev_id(psoc, tx_ctx->vdev_id, + WLAN_P2P_ID); + peer = wlan_objmgr_get_peer(psoc, pdev_id, mac_addr, WLAN_P2P_ID); if (!peer) { mac_addr = wh->i_addr2; - peer = wlan_objmgr_get_peer(psoc, mac_addr, - WLAN_P2P_ID); + peer = wlan_objmgr_get_peer(psoc, pdev_id, mac_addr, + WLAN_P2P_ID); } if (!peer) {