Browse Source

qcacmn: Fix redundant moving the TP in the REO DST RING

In RX process, driver reaps the data in the REO DST RING
by successively move the tail pointer. The problem is
that driver will move the tail pointer twice if something
wrong happens, like sanity check, which will lead to the
miss of an entry next to the abnormal entry. This issue
has existed for a long time due to the code refactoring.

Change-Id: I2c5d402f81090497a4414efbf6e7e79130ba11f5
CRs-Fixed: 3426707
jinbao liu 2 years ago
parent
commit
ff32a66fd5
1 changed files with 0 additions and 5 deletions
  1. 0 5
      dp/wifi3.0/be/dp_be_rx.c

+ 0 - 5
dp/wifi3.0/be/dp_be_rx.c

@@ -326,7 +326,6 @@ more_data:
 					&tail[rx_desc->chip_id][rx_desc->pool_id],
 					&tail[rx_desc->chip_id][rx_desc->pool_id],
 					rx_desc);
 					rx_desc);
 			}
 			}
-			hal_srng_dst_get_next(hal_soc, hal_ring_hdl);
 			continue;
 			continue;
 		}
 		}
 
 
@@ -343,9 +342,6 @@ more_data:
 			dp_info_rl("Reaping rx_desc not in use!");
 			dp_info_rl("Reaping rx_desc not in use!");
 			dp_rx_dump_info_and_assert(soc, hal_ring_hdl,
 			dp_rx_dump_info_and_assert(soc, hal_ring_hdl,
 						   ring_desc, rx_desc);
 						   ring_desc, rx_desc);
-			/* ignore duplicate RX desc and continue to process */
-			/* Pop out the descriptor */
-			hal_srng_dst_get_next(hal_soc, hal_ring_hdl);
 			continue;
 			continue;
 		}
 		}
 
 
@@ -356,7 +352,6 @@ more_data:
 			dp_rx_dump_info_and_assert(soc, hal_ring_hdl,
 			dp_rx_dump_info_and_assert(soc, hal_ring_hdl,
 						   ring_desc, rx_desc);
 						   ring_desc, rx_desc);
 			rx_desc->in_err_state = 1;
 			rx_desc->in_err_state = 1;
-			hal_srng_dst_get_next(hal_soc, hal_ring_hdl);
 			continue;
 			continue;
 		}
 		}