Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c89ec5ea authored by Jinwei Chen's avatar Jinwei Chen Committed by nshrivas
Browse files

qcacmn: move vdev_id_map[vdev_id] null setting after dp_rx_vdev_detach

In dp_vdev_detach_wifi3(), the vdev_id_map[vdev_id] set to
null is happened before dp_rx_vdev_detach(). but the call back
done by dp_rx_vdev_detach still need to get the vdev pointer by
vdev_id, it will return NULL by current logic.

Move vdev_id_map[vdev_id] null setting after dp_rx_vdev_detach().

Change-Id: Ibaf506cfef83d68a21033e67395c37f53aeb4489
CRs-Fixed: 2681712
parent 89c8860e
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -5403,8 +5403,6 @@ static QDF_STATUS dp_vdev_detach_wifi3(struct cdp_soc_t *cdp_soc,

	pdev = vdev->pdev;

	soc->vdev_id_map[vdev->vdev_id] = NULL;

	if (wlan_op_mode_sta == vdev->opmode)
		dp_peer_delete_wifi3((struct cdp_soc_t *)soc, vdev->vdev_id,
				     vdev->vap_self_peer->mac_addr.raw, 0);
@@ -5420,6 +5418,12 @@ static QDF_STATUS dp_vdev_detach_wifi3(struct cdp_soc_t *cdp_soc,
		dp_vdev_flush_peers((struct cdp_vdev *)vdev, true);

	dp_rx_vdev_detach(vdev);
	/*
	 * move it after dp_rx_vdev_detach(),
	 * as the call back done in dp_rx_vdev_detach()
	 * still need to get vdev pointer by vdev_id.
	 */
	soc->vdev_id_map[vdev->vdev_id] = NULL;
	/*
	 * Use peer_ref_mutex while accessing peer_list, in case
	 * a peer is in the process of being removed from the list.