فهرست منبع

qcacmn: Remove host assert in Spectral Rx path

In Pine 160/165 MHz following are the expected sequence of events.
    1. Start scan WMI command
    2. FW param WMI event
    3. Direct DMA completion WMI events
If 3 and 2 happens in the reverse order (i.e., host receives a direct
DMA completion event before receiving a FW param WMI event), host assert
will be triggered.

This change removes the assert and drops the Spectral reports till
FW param WMI event is received.

CRs-Fixed: 2812403
Change-Id: I537d0077737baab8d3a8e90bdc4f9138690010bc
Edayilliam Jayadev 4 سال پیش
والد
کامیت
f4001e93ea
1فایلهای تغییر یافته به همراه5 افزوده شده و 1 حذف شده
  1. 5 1
      target_if/spectral/target_if_spectral_phyerr.c

+ 5 - 1
target_if/spectral/target_if_spectral_phyerr.c

@@ -2045,7 +2045,10 @@ target_if_consume_spectral_report_gen3(
 			params.datalen_sec80 = fft_hdr_length * 2;
 
 			marker = &spectral->rparams.marker[spectral_mode];
-			qdf_assert_always(marker->is_valid);
+			if (!marker->is_valid) {
+				/* update stats */
+				goto fail_no_print;
+			}
 			params.bin_pwr_data = temp +
 				marker->start_pri80 * fft_bin_size;
 			params.pwr_count = marker->num_pri80;
@@ -2182,6 +2185,7 @@ target_if_consume_spectral_report_gen3(
 	return 0;
  fail:
 	spectral_err_rl("Error while processing Spectral report");
+fail_no_print:
 	if (spectral_mode != SPECTRAL_SCAN_MODE_INVALID)
 		reset_160mhz_delivery_state_machine(spectral, spectral_mode);
 	return -EPERM;