From 68450abc57be06108769073a1ebe2d5268c7e552 Mon Sep 17 00:00:00 2001 From: sumedh baikady Date: Fri, 23 Mar 2018 18:36:29 -0700 Subject: [PATCH] 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 --- dp/wifi3.0/dp_peer.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/dp/wifi3.0/dp_peer.c b/dp/wifi3.0/dp_peer.c index 07b860b788ff..ffce0982913d 100644 --- a/dp/wifi3.0/dp_peer.c +++ b/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,