Преглед на файлове

qcacld-3.0: wma_update_intf_hw_mode_params to call tx & rx ss macros correctly

The Tx & Rx SS macros aren't called with correct parameter in
wma_update_intf_hw_mode_params. Fix the calls to get the Tx & Rx SS values
correctly.

Change-Id: I4df4db549d4bb0c7d00a521de55165bfccf16a65
CRs-fixed: 935341
Tushnim Bhattacharyya преди 9 години
родител
ревизия
206bcac761
променени са 1 файла, в които са добавени 11 реда и са изтрити 4 реда
  1. 11 4
      core/wma/src/wma_utils.c

+ 11 - 4
core/wma/src/wma_utils.c

@@ -2925,6 +2925,7 @@ void wma_update_intf_hw_mode_params(uint32_t vdev_id, uint32_t mac_id,
 				    uint32_t cfgd_hw_mode_index)
 {
 	tp_wma_handle wma;
+	uint32_t param;
 
 	wma = cds_get_context(CDF_MODULE_ID_WMA);
 	if (!wma) {
@@ -2937,17 +2938,23 @@ void wma_update_intf_hw_mode_params(uint32_t vdev_id, uint32_t mac_id,
 		return;
 	}
 
+	if (cfgd_hw_mode_index > wma->num_dbs_hw_modes) {
+		WMA_LOGE("%s: Invalid index", __func__);
+		return;
+	}
+
+	param = wma->hw_mode.hw_mode_list[cfgd_hw_mode_index];
 	wma->interfaces[vdev_id].mac_id = mac_id;
 	if (mac_id == 0) {
 		wma->interfaces[vdev_id].tx_streams =
-			WMI_DBS_HW_MODE_MAC0_TX_STREAMS_GET(cfgd_hw_mode_index);
+			WMI_DBS_HW_MODE_MAC0_TX_STREAMS_GET(param);
 		wma->interfaces[vdev_id].rx_streams =
-			WMI_DBS_HW_MODE_MAC0_RX_STREAMS_GET(cfgd_hw_mode_index);
+			WMI_DBS_HW_MODE_MAC0_RX_STREAMS_GET(param);
 	} else {
 		wma->interfaces[vdev_id].tx_streams =
-			WMI_DBS_HW_MODE_MAC1_TX_STREAMS_GET(cfgd_hw_mode_index);
+			WMI_DBS_HW_MODE_MAC1_TX_STREAMS_GET(param);
 		wma->interfaces[vdev_id].rx_streams =
-			WMI_DBS_HW_MODE_MAC1_RX_STREAMS_GET(cfgd_hw_mode_index);
+			WMI_DBS_HW_MODE_MAC1_RX_STREAMS_GET(param);
 	}
 }