Browse Source

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
Zhu Jianmin 6 years ago
parent
commit
4bf615e184
1 changed files with 5 additions and 1 deletions
  1. 5 1
      core/wma/src/wma_dev_if.c

+ 5 - 1
core/wma/src/wma_dev_if.c

@@ -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);