Selaa lähdekoodia

qcacmn: Change the assert condition for PPDU Tag processing

Fix the assert in HTT PPDU TLV processing to account for
member additions at the end of htt_ppdu_stats structures by FW
This ensures Host-FW compatibility without placing hard constraints
on timelines for fwcmn header files to be synchronized with host.

Change-Id: I9f730e5896bec916c8e4e3f0eaa06b183c62f393
Pamidipati, Vijay 6 vuotta sitten
vanhempi
sitoutus
221b3e4ab7
1 muutettua tiedostoa jossa 11 lisäystä ja 11 poistoa
  1. 11 11
      dp/wifi3.0/dp_htt.c

+ 11 - 11
dp/wifi3.0/dp_htt.c

@@ -2360,65 +2360,65 @@ static void dp_process_ppdu_tag(struct dp_pdev *pdev, uint32_t *tag_buf,
 
 	switch (tlv_type) {
 	case HTT_PPDU_STATS_COMMON_TLV:
-		qdf_assert_always(tlv_len ==
+		qdf_assert_always(tlv_len >=
 				sizeof(htt_ppdu_stats_common_tlv));
 		dp_process_ppdu_stats_common_tlv(pdev, tag_buf, ppdu_info);
 		break;
 	case HTT_PPDU_STATS_USR_COMMON_TLV:
-		qdf_assert_always(tlv_len ==
+		qdf_assert_always(tlv_len >=
 				sizeof(htt_ppdu_stats_user_common_tlv));
 		dp_process_ppdu_stats_user_common_tlv(
 				pdev, tag_buf, ppdu_info);
 		break;
 	case HTT_PPDU_STATS_USR_RATE_TLV:
-		qdf_assert_always(tlv_len ==
+		qdf_assert_always(tlv_len >=
 				sizeof(htt_ppdu_stats_user_rate_tlv));
 		dp_process_ppdu_stats_user_rate_tlv(pdev, tag_buf, ppdu_info);
 		break;
 	case HTT_PPDU_STATS_USR_MPDU_ENQ_BITMAP_64_TLV:
-		qdf_assert_always(tlv_len ==
+		qdf_assert_always(tlv_len >=
 				sizeof(htt_ppdu_stats_enq_mpdu_bitmap_64_tlv));
 		dp_process_ppdu_stats_enq_mpdu_bitmap_64_tlv(
 				pdev, tag_buf, ppdu_info);
 		break;
 	case HTT_PPDU_STATS_USR_MPDU_ENQ_BITMAP_256_TLV:
-		qdf_assert_always(tlv_len ==
+		qdf_assert_always(tlv_len >=
 				sizeof(htt_ppdu_stats_enq_mpdu_bitmap_256_tlv));
 		dp_process_ppdu_stats_enq_mpdu_bitmap_256_tlv(
 				pdev, tag_buf, ppdu_info);
 		break;
 	case HTT_PPDU_STATS_USR_COMPLTN_COMMON_TLV:
-		qdf_assert_always(tlv_len ==
+		qdf_assert_always(tlv_len >=
 				sizeof(htt_ppdu_stats_user_cmpltn_common_tlv));
 		dp_process_ppdu_stats_user_cmpltn_common_tlv(
 				pdev, tag_buf, ppdu_info);
 		break;
 	case HTT_PPDU_STATS_USR_COMPLTN_BA_BITMAP_64_TLV:
-		qdf_assert_always(tlv_len ==
+		qdf_assert_always(tlv_len >=
 			sizeof(htt_ppdu_stats_user_compltn_ba_bitmap_64_tlv));
 		dp_process_ppdu_stats_user_compltn_ba_bitmap_64_tlv(
 				pdev, tag_buf, ppdu_info);
 		break;
 	case HTT_PPDU_STATS_USR_COMPLTN_BA_BITMAP_256_TLV:
-		qdf_assert_always(tlv_len ==
+		qdf_assert_always(tlv_len >=
 			sizeof(htt_ppdu_stats_user_compltn_ba_bitmap_256_tlv));
 		dp_process_ppdu_stats_user_compltn_ba_bitmap_256_tlv(
 				pdev, tag_buf, ppdu_info);
 		break;
 	case HTT_PPDU_STATS_USR_COMPLTN_ACK_BA_STATUS_TLV:
-		qdf_assert_always(tlv_len ==
+		qdf_assert_always(tlv_len >=
 			sizeof(htt_ppdu_stats_user_compltn_ack_ba_status_tlv));
 		dp_process_ppdu_stats_user_compltn_ack_ba_status_tlv(
 				pdev, tag_buf, ppdu_info);
 		break;
 	case HTT_PPDU_STATS_USR_COMMON_ARRAY_TLV:
-		qdf_assert_always(tlv_len ==
+		qdf_assert_always(tlv_len >=
 			sizeof(htt_ppdu_stats_usr_common_array_tlv_v));
 		dp_process_ppdu_stats_user_common_array_tlv(
 				pdev, tag_buf, ppdu_info);
 		break;
 	case HTT_PPDU_STATS_USR_COMPLTN_FLUSH_TLV:
-		qdf_assert_always(tlv_len ==
+		qdf_assert_always(tlv_len >=
 			sizeof(htt_ppdu_stats_flush_tlv));
 		dp_process_ppdu_stats_user_compltn_flush_tlv(
 				pdev, tag_buf);