From 9fac863f736105f83bf8a5ba3af107087cd727d5 Mon Sep 17 00:00:00 2001 From: Venkateswara Swamy Bandaru Date: Wed, 22 Feb 2017 17:13:39 +0530 Subject: [PATCH] qcacmn: Fix for kernel panic in rx path Add Null check for peer before accessing the structure. Change-Id: Ic1b6e0c3a7a9aeecbc9aa9cc4a118e27726d94f2 CRs-Fixed: 2010214 --- dp/wifi3.0/dp_rx_err.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dp/wifi3.0/dp_rx_err.c b/dp/wifi3.0/dp_rx_err.c index cee46a4f472d..13eb6a5ca8b4 100644 --- a/dp/wifi3.0/dp_rx_err.c +++ b/dp/wifi3.0/dp_rx_err.c @@ -326,6 +326,7 @@ dp_rx_null_q_desc_handle(struct dp_soc *soc, void *ring_desc, peer_id = hal_rx_mpdu_start_sw_peer_id_get( rx_desc->rx_buf_start); peer = dp_peer_find_by_id(soc, peer_id); + if (peer && peer->rx_tid[tid].hw_qdesc_vaddr_unaligned == NULL) { /* IEEE80211_SEQ_MAX indicates invalid start_seq */ @@ -343,7 +344,7 @@ dp_rx_null_q_desc_handle(struct dp_soc *soc, void *ring_desc, qdf_nbuf_data(nbuf), 128, false); #endif /* NAPIER_EMULATION */ - if (qdf_unlikely(peer->bss_peer)) { + if (peer && qdf_unlikely(peer->bss_peer)) { QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO, FL("received pkt with same src MAC"));