Bläddra i källkod

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 år sedan
förälder
incheckning
af9f08cb06
1 ändrade filer med 9 tillägg och 8 borttagningar
  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);