瀏覽代碼

qcacld-3.0: Update UMAC peer objmgr handle to DP peer

At DP peer creation update UMAC peer objmgr handle to the
DP peer structure. Also update the DP peer handle to the UMAC
peer objmgr handle.

Change-Id: I9983fe9626eae9d2ad6e3b2a6fde9183f5bf6356
CRs-Fixed: 2259804
Sravan Kumar Kairam 6 年之前
父節點
當前提交
c273afd8e8
共有 3 個文件被更改,包括 9 次插入2 次删除
  1. 2 1
      core/dp/txrx/ol_txrx.c
  2. 3 0
      core/dp/txrx/ol_txrx_types.h
  3. 4 1
      core/wma/src/wma_dev_if.c

+ 2 - 1
core/dp/txrx/ol_txrx.c

@@ -2824,7 +2824,7 @@ static void ol_txrx_dump_peer_access_list(ol_txrx_peer_handle peer)
  */
 static void *
 ol_txrx_peer_attach(struct cdp_vdev *pvdev, uint8_t *peer_mac_addr,
-		    void *ol_peer)
+		    struct cdp_ctrl_objmgr_peer *ctrl_peer)
 {
 	struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev;
 	struct ol_txrx_peer_t *peer;
@@ -2918,6 +2918,7 @@ ol_txrx_peer_attach(struct cdp_vdev *pvdev, uint8_t *peer_mac_addr,
 
 	/* store provided params */
 	peer->vdev = vdev;
+	peer->ctrl_peer = peer->ctrl_peer;
 	qdf_mem_copy(&peer->mac_addr.raw[0], peer_mac_addr,
 		     OL_TXRX_MAC_ADDR_LEN);
 

+ 3 - 0
core/dp/txrx/ol_txrx_types.h

@@ -1244,6 +1244,9 @@ struct ol_txrx_cached_bufq_t {
 struct ol_txrx_peer_t {
 	struct ol_txrx_vdev_t *vdev;
 
+	/* UMAC peer objmgr handle */
+	struct cdp_ctrl_objmgr_peer *ctrl_peer;
+
 	qdf_atomic_t ref_cnt;
 	qdf_atomic_t access_list[PEER_DEBUG_ID_MAX];
 	qdf_atomic_t delete_in_progress;

+ 4 - 1
core/wma/src/wma_dev_if.c

@@ -1755,7 +1755,8 @@ QDF_STATUS wma_create_peer(tp_wma_handle wma, struct cdp_pdev *pdev,
 	 * where the HTT peer map event is received before the peer object
 	 * is created in the data path
 	 */
-	peer = cdp_peer_create(dp_soc, vdev, peer_addr, NULL);
+	peer = cdp_peer_create(dp_soc, vdev, peer_addr,
+			       (struct cdp_ctrl_objmgr_peer *)obj_peer);
 	if (!peer) {
 		WMA_LOGE("%s : Unable to attach peer %pM", __func__, peer_addr);
 		wlan_objmgr_peer_obj_delete(obj_peer);
@@ -1765,6 +1766,8 @@ QDF_STATUS wma_create_peer(tp_wma_handle wma, struct cdp_pdev *pdev,
 		 __func__, vdev, peer, peer_addr, vdev_id,
 		 wma->interfaces[vdev_id].peer_count);
 
+	wlan_peer_set_dp_handle(obj_peer, peer);
+
 	if (roam_synch_in_progress) {
 		WMA_LOGD("%s: LFR3: Created peer %pK with peer_addr %pM vdev_id %d, peer_count - %d",
 			 __func__, peer, peer_addr, vdev_id,