瀏覽代碼

qcacmn: Fix peer NULL check in peer map handler

For FTM mode we receive peer map events without
peer created. This change checks for peer NULL case
to access peer vdev.

Change-Id: I1998e33ca3d9338dba939dc760dcf7bfdb70d1e3
Crs-fixed: 2212203
sumedh baikady 7 年之前
父節點
當前提交
68450abc57
共有 1 個文件被更改,包括 11 次插入9 次删除
  1. 11 9
      dp/wifi3.0/dp_peer.c

+ 11 - 9
dp/wifi3.0/dp_peer.c

@@ -969,16 +969,18 @@ dp_rx_peer_map_handler(void *soc_handle, uint16_t peer_id, uint16_t hw_peer_id,
 		peer = dp_peer_find_add_id(soc, peer_mac_addr, peer_id,
 					hw_peer_id, vdev_id);
 
-	qdf_assert_always(peer->vdev);
-	/*
-	 * For every peer MAp message search and set if bss_peer
-	 */
-	if (!(qdf_mem_cmp(peer->mac_addr.raw, peer->vdev->mac_addr.raw,
-					DP_MAC_ADDR_LEN))) {
-		QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO_HIGH,
+	if (peer) {
+		qdf_assert_always(peer->vdev);
+		/*
+		 * For every peer MAp message search and set if bss_peer
+		 */
+		if (!(qdf_mem_cmp(peer->mac_addr.raw, peer->vdev->mac_addr.raw,
+				 DP_MAC_ADDR_LEN))) {
+			QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO_HIGH,
 				"vdev bss_peer!!!!");
-		peer->bss_peer = 1;
-		peer->vdev->vap_bss_peer = peer;
+			peer->bss_peer = 1;
+			peer->vdev->vap_bss_peer = peer;
+		}
 	}
 
 	dp_peer_map_ast(soc, peer, peer_mac_addr,