Bläddra i källkod

qcacmn: Add sanity check for dp_intr_id

Add sanity check for dp_intr_id in monitor flush ring.

Change-Id: I9562e837d898543152da111ca1c4bf9f0558092d
CRs-Fixed: 3166446
Srinivas Girigowda 3 år sedan
förälder
incheckning
c53ac4acce
1 ändrade filer med 4 tillägg och 1 borttagningar
  1. 4 1
      dp/wifi3.0/monitor/1.0/dp_mon_1.0.c

+ 4 - 1
dp/wifi3.0/monitor/1.0/dp_mon_1.0.c

@@ -178,7 +178,7 @@ void dp_flush_monitor_rings(struct dp_soc *soc)
 	hal_soc_handle_t hal_soc = soc->hal_soc;
 	uint32_t lmac_id;
 	uint32_t hp, tp;
-	uint8_t dp_intr_id;
+	int dp_intr_id;
 	int budget;
 	void *mon_dst_srng;
 	struct dp_mon_pdev *mon_pdev = pdev->monitor_pdev;
@@ -198,6 +198,9 @@ void dp_flush_monitor_rings(struct dp_soc *soc)
 		return;
 
 	dp_intr_id = soc->mon_intr_id_lmac_map[lmac_id];
+	if (qdf_unlikely(dp_intr_id == DP_MON_INVALID_LMAC_ID))
+		return;
+
 	mon_dst_srng = dp_rxdma_get_mon_dst_ring(pdev, lmac_id);
 
 	/* reap full ring */