Browse Source

qcacld-3.0: Fix the spinlock pairing issue

Per code review, some spin_lock/spin_unlock are not pairing.

Change-Id: I72cbc6d77ee37e44b4672a4e6747b90b7ebb0a4e
CRs-Fixed: 2105070
Paul Zhang 7 years ago
parent
commit
fb35175109
2 changed files with 8 additions and 10 deletions
  1. 4 0
      core/dp/txrx/ol_rx.c
  2. 4 10
      core/sap/dfs/src/dfs_process_radarevent.c

+ 4 - 0
core/dp/txrx/ol_rx.c

@@ -598,6 +598,8 @@ ol_rx_indication_handler(ol_txrx_pdev_handle pdev,
 					ol_rx_trigger_restore(htt_pdev,
 							      head_msdu,
 							      tail_msdu);
+					OL_RX_REORDER_TIMEOUT_MUTEX_UNLOCK(
+									pdev);
 					return;
 				}
 #endif
@@ -655,6 +657,8 @@ ol_rx_indication_handler(ol_txrx_pdev_handle pdev,
 				if (htt_pdev->rx_ring.rx_reset) {
 					ol_rx_trigger_restore(htt_pdev, msdu,
 							      tail_msdu);
+					OL_RX_REORDER_TIMEOUT_MUTEX_UNLOCK(
+									pdev);
 					return;
 				}
 #endif

+ 4 - 10
core/sap/dfs/src/dfs_process_radarevent.c

@@ -863,17 +863,11 @@ dfsfound:
 		ath_hal_setrxfilter(ah, rfilt);
 #endif
 		DFS_DPRINTK(dfs, ATH_DEBUG_DFS1,
-			    "Primary channel freq = %u flags=0x%x",
-			    chan->ic_freq, chan->ic_flagext);
-		qdf_spin_lock_bh(&dfs->ic->chan_lock);
-		if ((dfs->ic->ic_curchan->ic_freq != thischan->ic_freq)) {
-			qdf_spin_unlock_bh(&dfs->ic->chan_lock);
-			DFS_DPRINTK(dfs, ATH_DEBUG_DFS1,
-				    "Ext channel freq = %u flags=0x%x",
-				    thischan->ic_freq, thischan->ic_flagext);
-		}
+			"Primary channel freq = %u flags=0x%x, "
+			"Ext channel freq = %u flags=0x%x",
+			chan->ic_freq, chan->ic_flagext,
+			thischan->ic_freq, thischan->ic_flagext);
 
-		qdf_spin_unlock_bh(&dfs->ic->chan_lock);
 		dfs->dfs_phyerr_freq_min = 0x7fffffff;
 		dfs->dfs_phyerr_freq_max = 0;
 		dfs->dfs_phyerr_w53_counter = 0;