瀏覽代碼

qcacld-3.0: Use connected AP channel during reassoc to same AP

Currently channel zero is configured by sigma dut when reassoc
to same AP is issued. This results in failure as this is invalid
channel. Fix this by passing channel of connected AP.

Change-Id: I1fbdc10256b59d7ca49256461244566e04a52df5
CRs-Fixed: 1081234
Padma, Santhosh Kumar 8 年之前
父節點
當前提交
af9f08cb06
共有 1 個文件被更改,包括 9 次插入8 次删除
  1. 9 8
      core/hdd/src/wlan_hdd_ioctl.c

+ 9 - 8
core/hdd/src/wlan_hdd_ioctl.c

@@ -4443,13 +4443,6 @@ static int drv_cmd_fast_reassoc(hdd_adapter_t *adapter,
 		goto exit;
 	}
 
-	/* Check channel number is a valid channel number */
-	if (QDF_STATUS_SUCCESS !=
-		wlan_hdd_validate_operation_channel(adapter, channel)) {
-		hdd_err("Invalid Channel [%d]", channel);
-		return -EINVAL;
-	}
-
 	/*
 	 * if the target bssid is same as currently associated AP,
 	 * issue reassoc to same AP
@@ -4460,7 +4453,8 @@ static int drv_cmd_fast_reassoc(hdd_adapter_t *adapter,
 		hdd_info("Reassoc BSSID is same as currently associated AP bssid");
 		if (roaming_offload_enabled(hdd_ctx)) {
 			hdd_wma_send_fastreassoc_cmd((int)adapter->sessionId,
-				targetApBssid, (int)channel);
+				targetApBssid,
+				pHddStaCtx->conn_info.operationChannel);
 		} else {
 			sme_get_modify_profile_fields(hdd_ctx->hHal,
 				adapter->sessionId,
@@ -4471,6 +4465,13 @@ static int drv_cmd_fast_reassoc(hdd_adapter_t *adapter,
 		return 0;
 	}
 
+	/* Check channel number is a valid channel number */
+	if (QDF_STATUS_SUCCESS !=
+		wlan_hdd_validate_operation_channel(adapter, channel)) {
+		hdd_err("Invalid Channel [%d]", channel);
+		return -EINVAL;
+	}
+
 	if (roaming_offload_enabled(hdd_ctx)) {
 		hdd_wma_send_fastreassoc_cmd((int)adapter->sessionId,
 					targetApBssid, (int)channel);