qcacld-3.0: Fix Beamforming during roaming
qcacld-2.0 to qcacld-3.0 propagation
Currently, capabilities su_beam_formee are set during association request
but not in re-association request. This can lead to failure in beamforming
after roaming. Fix this by updating them during roaming as well.
Change-Id: I28e86b93a5114f3b76733effe4428a92cf94b441
CRs-Fixed: 1033328
diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
index ddfe50d..9c0ed05 100644
--- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c
+++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
@@ -2187,6 +2187,27 @@
session_entry->vhtCapability =
IS_DOT11_MODE_VHT(reassoc_req->dot11mode);
+ if (session_entry->vhtCapability) {
+ if (session_entry->pePersona == QDF_STA_MODE) {
+ session_entry->vht_config.su_beam_formee =
+ reassoc_req->vht_config.su_beam_formee;
+ } else {
+ reassoc_req->vht_config.su_beam_formee = 0;
+ }
+ session_entry->enableVhtpAid =
+ reassoc_req->enableVhtpAid;
+ session_entry->enableVhtGid =
+ reassoc_req->enableVhtGid;
+ lim_log(mac_ctx, LOG1, FL("vht su bformer [%d]"),
+ session_entry->vht_config.su_beam_former);
+ }
+
+ lim_log(mac_ctx, LOG1,
+ FL("vhtCapability: %d su_beam_formee: %d su_tx_bformer %d"),
+ session_entry->vhtCapability,
+ session_entry->vht_config.su_beam_formee,
+ session_entry->vht_config.su_beam_former);
+
session_entry->enableHtSmps = reassoc_req->enableHtSmps;
session_entry->htSmpsvalue = reassoc_req->htSmps;
session_entry->send_smps_action =