qcacld-3.0: Clear txSTBC capab if number of tx streams is less than 2

Currently tx STBC param sent to FW is taken from peer's response frame, which
is wrong if current hardware does not support 2x2 for given channel width.
Update the driver to check number of tx stream for current vdev and clear txSTBC
if needed.

Change-Id: If05e5de72ba5af95b343817d811db0f413493ee1
CRs-Fixed: 941217
diff --git a/core/wma/src/wma_mgmt.c b/core/wma/src/wma_mgmt.c
index 89a9e72..2287edb 100644
--- a/core/wma/src/wma_mgmt.c
+++ b/core/wma/src/wma_mgmt.c
@@ -1110,7 +1110,18 @@
 		       WMITLV_GET_STRUCT_TLVLEN(wmi_vht_rate_set));
 
 	cmd->peer_nss = peer_nss;
-
+	/*
+	 * Because of DBS a vdev may come up in any of the two MACs with
+	 * different capabilities. STBC capab should be fetched for given
+	 * hard_mode->MAC_id combo. It is planned that firmware should provide
+	 * these dev capabilities. But for now number of tx streams can be used
+	 * to identify if Tx STBC needs to be disabled.
+	 */
+	if (intr->tx_streams < 2) {
+		cmd->peer_vht_caps &= ~(1 << SIR_MAC_VHT_CAP_TXSTBC);
+		WMA_LOGD("Num tx_streams: %d, Disabled txSTBC",
+			 intr->tx_streams);
+	}
 	WMA_LOGD("peer_nss %d peer_ht_rates.num_rates %d ", cmd->peer_nss,
 		 peer_ht_rates.num_rates);