qcacld-3.0: Do not use peer to get vdev

When we receive disassoc from peer, peer will be deleted from hash
table. If driver again receives one more disassoc from same peer
because of any reason, NULL pointer dereference will occur.

To address this do not use peer to get vdev, use pkt_capture_get_vdev
to get vdev.

CRs-Fixed: 2771670
Change-Id: I5bf7b5edff0e1c6b0b73f0c3849c897b269eef4c
This commit is contained in:
Vulupala Shashank Reddy 2020-09-08 15:36:37 +05:30 committed by snandini
parent cd60749c66
commit 589f121df7

View File

@ -430,6 +430,7 @@ pkt_capture_mgmt_rx_data_cb(struct wlan_objmgr_psoc *psoc,
tpSirMacFrameCtl pfc;
qdf_nbuf_t nbuf;
int buf_len;
struct wlan_objmgr_vdev *vdev;
if (!(pkt_capture_get_pktcap_mode(psoc) & PKT_CAPTURE_MODE_MGMT_ONLY)) {
qdf_nbuf_free(wbuf);
@ -459,7 +460,8 @@ pkt_capture_mgmt_rx_data_cb(struct wlan_objmgr_psoc *psoc,
pfc->subType == SIR_MAC_MGMT_ACTION)) {
struct wlan_objmgr_pdev *pdev;
pdev = wlan_vdev_get_pdev(peer->peer_objmgr.vdev);
vdev = pkt_capture_get_vdev();
pdev = wlan_vdev_get_pdev(vdev);
if (pkt_capture_is_rmf_enabled(pdev, psoc, wh->i_addr1)) {
QDF_STATUS status;