qcacmn: Remove unnecessary msdu count check in mdpu desc
Remove uncessary msdu count check against msdu count in mpdu desc info while processing REO Rx err pkts. As per h/w team msdu count can be obtained from msdu link desc instead of mpdu desc info. SOC level Rx err stat rx.err.msdu_count_mismatch is incremented to log this condition. Change-Id: I4f7d2df7335778f2f2d28e542da17fc7f6970009 CRs-Fixed: 2729693
This commit is contained in:
@@ -571,7 +571,8 @@ more_msdu_link_desc:
|
|||||||
|
|
||||||
dp_rx_link_desc_return_by_addr(soc, buf_addr_info,
|
dp_rx_link_desc_return_by_addr(soc, buf_addr_info,
|
||||||
HAL_BM_ACTION_PUT_IN_IDLE_LIST);
|
HAL_BM_ACTION_PUT_IN_IDLE_LIST);
|
||||||
QDF_BUG(msdu_processed == mpdu_desc_info->msdu_count);
|
if (qdf_unlikely(msdu_processed != mpdu_desc_info->msdu_count))
|
||||||
|
DP_STATS_INC(soc, rx.err.msdu_count_mismatch, 1);
|
||||||
|
|
||||||
return rx_bufs_used;
|
return rx_bufs_used;
|
||||||
}
|
}
|
||||||
|
@@ -847,6 +847,8 @@ struct dp_soc_stats {
|
|||||||
uint32_t reo_err_oor_sg_count;
|
uint32_t reo_err_oor_sg_count;
|
||||||
/* RX msdu rejected count on delivery to vdev stack_fn*/
|
/* RX msdu rejected count on delivery to vdev stack_fn*/
|
||||||
uint32_t rejected;
|
uint32_t rejected;
|
||||||
|
/* Incorrect msdu count in MPDU desc info */
|
||||||
|
uint32_t msdu_count_mismatch;
|
||||||
} err;
|
} err;
|
||||||
|
|
||||||
/* packet count per core - per ring */
|
/* packet count per core - per ring */
|
||||||
|
@@ -1833,6 +1833,9 @@ static inline void hal_rx_msdu_list_get(hal_soc_handle_t hal_soc_hdl,
|
|||||||
/* num_msdus received in mpdu descriptor may be incorrect
|
/* num_msdus received in mpdu descriptor may be incorrect
|
||||||
* sometimes due to HW issue. Check msdu buffer address also
|
* sometimes due to HW issue. Check msdu buffer address also
|
||||||
*/
|
*/
|
||||||
|
if (!i && (HAL_RX_BUFFER_ADDR_31_0_GET(
|
||||||
|
&msdu_details[i].buffer_addr_info_details) == 0))
|
||||||
|
break;
|
||||||
if (HAL_RX_BUFFER_ADDR_31_0_GET(
|
if (HAL_RX_BUFFER_ADDR_31_0_GET(
|
||||||
&msdu_details[i].buffer_addr_info_details) == 0) {
|
&msdu_details[i].buffer_addr_info_details) == 0) {
|
||||||
/* set the last msdu bit in the prev msdu_desc_info */
|
/* set the last msdu bit in the prev msdu_desc_info */
|
||||||
|
Reference in New Issue
Block a user