Browse Source

qcacmn: Fix for NSS interrupt mask issue in Dynamic mode change FR

Interrupt masking should use lmac id instead of pdev id
in NSS mode.

Change-Id: Ib5f974a18e6536249e4f422eb5c677947cb6e3be
CRs-Fixed: 2557902
Amit Shukla 5 years ago
parent
commit
2352b070f5
1 changed files with 5 additions and 3 deletions
  1. 5 3
      dp/wifi3.0/dp_main.c

+ 5 - 3
dp/wifi3.0/dp_main.c

@@ -2634,6 +2634,8 @@ static void dp_soc_reset_intr_mask(struct dp_soc *soc)
 
 
 	/* loop and reset the mask for only offloaded ring */
 	/* loop and reset the mask for only offloaded ring */
 	for (j = 0; j < MAX_PDEV_CNT; j++) {
 	for (j = 0; j < MAX_PDEV_CNT; j++) {
+		int lmac_id = wlan_cfg_get_hw_mac_idx(soc->wlan_cfg_ctx, j);
+
 		if (!dp_soc_ring_if_nss_offloaded(soc, RXDMA_BUF, j)) {
 		if (!dp_soc_ring_if_nss_offloaded(soc, RXDMA_BUF, j)) {
 			continue;
 			continue;
 		}
 		}
@@ -2641,18 +2643,18 @@ static void dp_soc_reset_intr_mask(struct dp_soc *soc)
 		/*
 		/*
 		 * Group number corresponding to rx offloaded ring.
 		 * Group number corresponding to rx offloaded ring.
 		 */
 		 */
-		group_number = dp_srng_find_ring_in_mask(j, grp_mask);
+		group_number = dp_srng_find_ring_in_mask(lmac_id, grp_mask);
 		if (group_number < 0) {
 		if (group_number < 0) {
 			QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG,
 			QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG,
 					FL("ring not part of any group; ring_type: %d,ring_num %d"),
 					FL("ring not part of any group; ring_type: %d,ring_num %d"),
-					REO_DST, j);
+					REO_DST, lmac_id);
 			return;
 			return;
 		}
 		}
 
 
 		/* set the interrupt mask for offloaded ring */
 		/* set the interrupt mask for offloaded ring */
 		mask =  wlan_cfg_get_host2rxdma_ring_mask(soc->wlan_cfg_ctx,
 		mask =  wlan_cfg_get_host2rxdma_ring_mask(soc->wlan_cfg_ctx,
 				group_number);
 				group_number);
-		mask &= (~(1 << j));
+		mask &= (~(1 << lmac_id));
 
 
 		/*
 		/*
 		 * set the interrupt mask to zero for rx offloaded radio.
 		 * set the interrupt mask to zero for rx offloaded radio.