From 685e96043336c3b8c206fa829fcb62de73bd60a4 Mon Sep 17 00:00:00 2001 From: Tiger Yu Date: Fri, 10 Jan 2020 15:23:07 +0800 Subject: [PATCH] qcacmn: Move dp_rx_vdev_detach out of vdev list spin_lock protection No need to protect with vdev list spin lock for dp_rx_vdev_detach and which might wait event from dp rx thread when doing the RX GRO flash. Do the same for dp_tx_vdev_detach. Change-Id: I8f191ed62a174a9a88999c36d47ef18f39e8bd82 CRs-Fixed: 2600680 --- dp/wifi3.0/dp_main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index db78810327eb..7777f52bb8eb 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -5264,12 +5264,13 @@ static QDF_STATUS dp_vdev_detach_wifi3(struct cdp_soc_t *cdp_soc, qdf_spin_unlock_bh(&pdev->neighbour_peer_mutex); qdf_spin_lock_bh(&pdev->vdev_list_lock); - dp_tx_vdev_detach(vdev); - dp_rx_vdev_detach(vdev); /* remove the vdev from its parent pdev's list */ TAILQ_REMOVE(&pdev->vdev_list, vdev, vdev_list_elem); qdf_spin_unlock_bh(&pdev->vdev_list_lock); + dp_tx_vdev_detach(vdev); + dp_rx_vdev_detach(vdev); + free_vdev: if (wlan_op_mode_monitor == vdev->opmode) pdev->monitor_vdev = NULL;