qcacld-3.0: Fix reassoc issue for Passpoint TC5.2.a

After DUT connected AP,  run on CLI: iwpriv wlan0 reassoc,
QDF_BUG(0) in driver on Rome.

When reassoc to current connected AP, LFR2 and LFR3 have
different design.
Helium supports LFR3, send WMI_ROAM_INVOKE_CMDID to F/W to
trigger offload roaming.
Rome only supports LFR2, Send vdev start cmd to F/W while
vdev already started first, then send reassoc frame.

Passpoint TC5.2a need reassoc to current connected AP.

Change-Id: Ic0e2c945c6978835f39ec1746f625a0c52f643a7
CRs-Fixed: 2232538
This commit is contained in:
Zhu Jianmin 2018-05-23 19:52:46 +08:00 • committed by nshrivas
commit 4bf615e184

View file

@ -2643,8 +2643,12 @@ QDF_STATUS wma_vdev_start(tp_wma_handle wma,
params.chan_freq = cds_chan_to_freq(req->chan);
params.chan_mode = chan_mode;
/* For Rome, only supports LFR2, not LFR3, for reassoc, need send vdev
* start cmd to F/W while vdev started first, then send reassoc frame
*/
if (!isRestart &&
qdf_atomic_read(&iface->bss_status) == WMA_BSS_STATUS_STARTED) {
qdf_atomic_read(&iface->bss_status) == WMA_BSS_STATUS_STARTED &&
wmi_service_enabled(wma->wmi_handle, wmi_service_roam_ho_offload)) {
req_msg = wma_find_vdev_req(wma, req->vdev_id,
WMA_TARGET_REQ_TYPE_VDEV_STOP,
false);