qcacld-3.0: Update phymode along with ch_width update to FW

AP sends "Operating Mode Notification" IE contains max supported
channel width indication (ap operating channel bandwidth) via
beacon/probe response/association/re-association response frame.
After sending OMN IE to DUT, AP expects DUT should do Tx/Rx of
data packet on ap operating channel bandwidth.

Due a recent change in FW (via CR/3701633), FW combined BW and
PHYMODE update requests into single message to avoid race condition
and assert in FW. It means whenever host updates ch_width to FW,
should also update corresponding phymode immediately via same
command WMI_PEER_SET_PARAM_CMDID with param id WMI_HOST_PEER_PHYMODE.

Currently on detecting OMN IE in any of above frame,
host sends WMI_PEER_SET_PARAM_CMDID command only once with
param id WMI_HOST_PEER_CHWIDTH to update ch_width only with
expectation “FW should use same ch_width for further Tx/Rx
of data packet”. But FW ignoring only ch_width updates (without
followed by phymode update), this results DUT fails to do Tx/Rx
of data packet on ch_width present in OMN IE.

Fix is to make sure on detection of OMN IE (contains valid ch_width)
in above frame(s), host should send WMI_PEER_SET_PARAM_CMDID command
two times to FW to update ch_width and corresponding phymode.

Change-Id: Ic23205bb6c164b1bcb9c183d0f7818b082b84583
CRs-Fixed: 3734683
Cette révision appartient à :
Aasir Rasheed
2024-02-23 15:56:36 +05:30
révisé par Ravindra Konda
Parent 18a52ad0fe
révision bb6e26f046

Voir le fichier

@@ -2993,6 +2993,10 @@ void wma_process_update_opmode(tp_wma_handle wma_handle,
wma_set_peer_param(wma_handle, update_vht_opmode->peer_mac,
WMI_HOST_PEER_CHWIDTH, update_vht_opmode->opMode,
update_vht_opmode->smesessionId);
wma_set_peer_param(wma_handle, update_vht_opmode->peer_mac,
WMI_HOST_PEER_PHYMODE,
fw_phymode, update_vht_opmode->smesessionId);
}
/**