Переглянути джерело

qcacmn: Safely cleanup reorder frag list during RX defrag flush

Need to use tid_lock to protect the rx_tid data structure in the
dp_rx_reorder_flush_frag function. Or else there will be race
condition issues.

CRs-Fixed: 2357226
Change-Id: I860a64b529f0548eced7b537c4180a2c57175a56
chenguo 6 роки тому
батько
коміт
5fc91d835e
1 змінених файлів з 3 додано та 0 видалено
  1. 3 0
      dp/wifi3.0/dp_rx_defrag.c

+ 3 - 0
dp/wifi3.0/dp_rx_defrag.c

@@ -197,7 +197,10 @@ void dp_rx_defrag_waitlist_flush(struct dp_soc *soc)
 		peer =
 			container_of(rx_reorder, struct dp_peer,
 				     rx_tid[rx_reorder->tid]);
+
+		qdf_spin_lock_bh(&rx_reorder->tid_lock);
 		dp_rx_reorder_flush_frag(peer, rx_reorder->tid);
+		qdf_spin_unlock_bh(&rx_reorder->tid_lock);
 	}
 }