Browse Source

qcacld-3.0: Add support for new 3 port concurrency combinations

Update or add policy rules for new 3 port concurrency cases:
STA+STA+SAP
SAP+SAP+STA
SAP+SAP+SAP

Change-Id: I6ca605808f1de7f8d31ee9a2f05b88491319e6f2
CRs-Fixed: 1068000
Tushnim Bhattacharyya 8 years ago
parent
commit
53bcb93027
3 changed files with 405 additions and 137 deletions
  1. 14 1
      core/cds/inc/cds_concurrency.h
  2. 320 135
      core/cds/inc/cds_concurrency_2x2_dbs.h
  3. 71 1
      core/cds/src/cds_concurrency.c

+ 14 - 1
core/cds/inc/cds_concurrency.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -612,6 +612,19 @@ enum cds_two_connection_mode {
 	CDS_SAP_SAP_DBS_1x1,
 	CDS_SAP_SAP_DBS_2x2,
 	CDS_SAP_SAP_SBS_5_1x1,
+	CDS_STA_STA_SCC_24_1x1,
+	CDS_STA_STA_SCC_24_2x2,
+	CDS_STA_STA_MCC_24_1x1,
+	CDS_STA_STA_MCC_24_2x2,
+	CDS_STA_STA_SCC_5_1x1,
+	CDS_STA_STA_SCC_5_2x2,
+	CDS_STA_STA_MCC_5_1x1,
+	CDS_STA_STA_MCC_5_2x2,
+	CDS_STA_STA_MCC_24_5_1x1,
+	CDS_STA_STA_MCC_24_5_2x2,
+	CDS_STA_STA_DBS_1x1,
+	CDS_STA_STA_DBS_2x2,
+	CDS_STA_STA_SBS_5_1x1,
 
 	CDS_MAX_TWO_CONNECTION_MODE
 };

+ 320 - 135
core/cds/inc/cds_concurrency_2x2_dbs.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -81,7 +81,7 @@ second_connection_pcl_dbs_2x2_table = {
 	[CDS_P2P_CLIENT_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_P2P_GO_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_IBSS_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE,
-			CDS_MAX_PCL_TYPE} },
+		CDS_MAX_PCL_TYPE} },
 
 	[CDS_P2P_CLI_24_2x2] = {
 	[CDS_STA_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
@@ -89,7 +89,7 @@ second_connection_pcl_dbs_2x2_table = {
 	[CDS_P2P_CLIENT_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_P2P_GO_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_IBSS_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE,
-			CDS_MAX_PCL_TYPE} },
+		CDS_MAX_PCL_TYPE} },
 
 	[CDS_P2P_CLI_5_1x1] = {
 	[CDS_STA_MODE] = {CDS_24G_SCC_CH_SBS_CH,
@@ -120,18 +120,18 @@ second_connection_pcl_dbs_2x2_table = {
 	[CDS_SAP_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_P2P_CLIENT_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_P2P_GO_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE,
-			CDS_MAX_PCL_TYPE},
+		CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE,
-			CDS_MAX_PCL_TYPE} },
+		CDS_MAX_PCL_TYPE} },
 
 	[CDS_P2P_GO_24_2x2] = {
 	[CDS_STA_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_SAP_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_P2P_CLIENT_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_P2P_GO_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE,
-			CDS_MAX_PCL_TYPE},
+		CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE,
-			CDS_MAX_PCL_TYPE} },
+		CDS_MAX_PCL_TYPE} },
 
 	[CDS_P2P_GO_5_1x1] = {
 	[CDS_STA_MODE] = {CDS_24G_SCC_CH_SBS_CH,
@@ -163,7 +163,7 @@ second_connection_pcl_dbs_2x2_table = {
 	[CDS_P2P_CLIENT_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_P2P_GO_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_IBSS_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE,
-			CDS_MAX_PCL_TYPE} },
+		CDS_MAX_PCL_TYPE} },
 
 	[CDS_SAP_24_2x2] = {
 	[CDS_STA_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
@@ -171,7 +171,7 @@ second_connection_pcl_dbs_2x2_table = {
 	[CDS_P2P_CLIENT_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_P2P_GO_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_IBSS_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE,
-			CDS_MAX_PCL_TYPE} },
+		CDS_MAX_PCL_TYPE} },
 
 	[CDS_SAP_5_1x1] = {
 	[CDS_STA_MODE] = {CDS_24G_SCC_CH_SBS_CH,
@@ -202,42 +202,42 @@ second_connection_pcl_dbs_2x2_table = {
 	[CDS_STA_MODE] = {CDS_5G, CDS_5G, CDS_5G},
 	[CDS_SAP_MODE] = {CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_CLIENT_MODE] =	{
-			CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_GO_MODE] = {
-			CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_IBSS_24_2x2] = {
 	[CDS_STA_MODE] = {CDS_5G, CDS_5G, CDS_5G},
 	[CDS_SAP_MODE] = {
-			CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_CLIENT_MODE] =	{
-			CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_GO_MODE] = {
-			CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_IBSS_5_1x1] = {
 	[CDS_STA_MODE] = {CDS_24G, CDS_24G, CDS_24G},
 	[CDS_SAP_MODE] = {
-			CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_CLIENT_MODE] =	{
-			CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_GO_MODE] = {
-			CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_IBSS_5_2x2] = {
 	[CDS_STA_MODE] = {CDS_24G, CDS_24G, CDS_24G},
 	[CDS_SAP_MODE] = {
-			CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_CLIENT_MODE] =	{
-			CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_GO_MODE] = {
-			CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -253,20 +253,16 @@ third_connection_pcl_dbs_2x2_table = {
 	[CDS_STA_SAP_SCC_24_1x1] = {
 	[CDS_STA_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_SAP_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
-	[CDS_P2P_CLIENT_MODE] = {
-		CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
-	[CDS_P2P_GO_MODE] = {
-		CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
+	[CDS_P2P_CLIENT_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
+	[CDS_P2P_GO_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_STA_SAP_SCC_24_2x2] = {
 	[CDS_STA_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_SAP_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
-	[CDS_P2P_CLIENT_MODE] = {
-		CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
-	[CDS_P2P_GO_MODE] = {
-		CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
+	[CDS_P2P_CLIENT_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
+	[CDS_P2P_GO_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -288,34 +284,34 @@ third_connection_pcl_dbs_2x2_table = {
 
 	[CDS_STA_SAP_SCC_5_1x1] = {
 	[CDS_STA_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
-			CDS_24G_SCC_CH_SBS_CH},
+		CDS_24G_SCC_CH_SBS_CH},
 	[CDS_SAP_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
-			CDS_24G_SCC_CH_SBS_CH},
+		CDS_24G_SCC_CH_SBS_CH},
 	[CDS_P2P_CLIENT_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
-			CDS_24G_SCC_CH_SBS_CH},
+		CDS_24G_SCC_CH_SBS_CH},
 	[CDS_P2P_GO_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
-			CDS_24G_SCC_CH_SBS_CH},
+		CDS_24G_SCC_CH_SBS_CH},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_STA_SAP_SCC_5_2x2] = {
 	[CDS_STA_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
-			CDS_24G_SCC_CH_SBS_CH},
+		CDS_24G_SCC_CH_SBS_CH},
 	[CDS_SAP_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
-			CDS_24G_SCC_CH_SBS_CH},
+		CDS_24G_SCC_CH_SBS_CH},
 	[CDS_P2P_CLIENT_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
-			CDS_24G_SCC_CH_SBS_CH},
+		CDS_24G_SCC_CH_SBS_CH},
 	[CDS_P2P_GO_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
-			CDS_24G_SCC_CH_SBS_CH},
+		CDS_24G_SCC_CH_SBS_CH},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_STA_SAP_MCC_5_1x1] = {
 	[CDS_STA_MODE] = {CDS_24G_SBS_CH_MCC_CH, CDS_24G, CDS_24G_MCC_CH},
 	[CDS_SAP_MODE] = {CDS_24G_SBS_CH_MCC_CH, CDS_24G, CDS_24G_MCC_CH},
-	[CDS_P2P_CLIENT_MODE] = {CDS_24G_SBS_CH_MCC_CH, CDS_24G,
-				CDS_24G_MCC_CH},
-	[CDS_P2P_GO_MODE] = {CDS_24G_MCC_CH, CDS_24G_MCC_CH, CDS_24G_MCC_CH},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_24G_SBS_CH_MCC_CH, CDS_24G, CDS_24G_MCC_CH},
+	[CDS_P2P_GO_MODE] = {CDS_24G_SBS_CH_MCC_CH, CDS_24G, CDS_24G_MCC_CH},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -324,7 +320,7 @@ third_connection_pcl_dbs_2x2_table = {
 	[CDS_SAP_MODE] = {CDS_24G_SBS_CH_MCC_CH, CDS_24G, CDS_24G_MCC_CH},
 	[CDS_P2P_CLIENT_MODE] = {CDS_24G_SBS_CH_MCC_CH, CDS_24G,
 				CDS_24G_MCC_CH},
-	[CDS_P2P_GO_MODE] = {CDS_24G_MCC_CH, CDS_24G_MCC_CH, CDS_24G_MCC_CH},
+	[CDS_P2P_GO_MODE] = {CDS_24G_SBS_CH_MCC_CH, CDS_24G, CDS_24G_MCC_CH},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -388,9 +384,9 @@ third_connection_pcl_dbs_2x2_table = {
 	[CDS_STA_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_SAP_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_P2P_CLIENT_MODE] = {
-		CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_GO_MODE] = {
-		CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -398,67 +394,73 @@ third_connection_pcl_dbs_2x2_table = {
 	[CDS_STA_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_SAP_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_P2P_CLIENT_MODE] = {
-		CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_GO_MODE] = {
-		CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_SAP_SAP_MCC_24_1x1] = {
 	[CDS_STA_MODE] = {CDS_5G, CDS_5G, CDS_5G},
 	[CDS_SAP_MODE] = {CDS_5G, CDS_5G, CDS_5G},
-	[CDS_P2P_CLIENT_MODE] = {CDS_5G, CDS_5G, CDS_5G},
-	[CDS_P2P_GO_MODE] = {CDS_5G, CDS_5G, CDS_5G},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_SAP_SAP_MCC_24_2x2] = {
 	[CDS_STA_MODE] = {CDS_5G, CDS_5G, CDS_5G},
 	[CDS_SAP_MODE] = {CDS_5G, CDS_5G, CDS_5G},
-	[CDS_P2P_CLIENT_MODE] = {CDS_5G, CDS_5G, CDS_5G},
-	[CDS_P2P_GO_MODE] = {CDS_5G, CDS_5G, CDS_5G},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_SAP_SAP_SCC_5_1x1] = {
 	[CDS_STA_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
-			CDS_24G_SCC_CH_SBS_CH},
+		CDS_24G_SCC_CH_SBS_CH},
 	[CDS_SAP_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
-			CDS_24G_SCC_CH_SBS_CH},
-	[CDS_P2P_CLIENT_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
-			CDS_24G_SCC_CH_SBS_CH},
-	[CDS_P2P_GO_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
-			CDS_24G_SCC_CH_SBS_CH},
+		CDS_24G_SCC_CH_SBS_CH},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_SAP_SAP_SCC_5_2x2] = {
 	[CDS_STA_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
-			CDS_24G_SCC_CH_SBS_CH},
+		CDS_24G_SCC_CH_SBS_CH},
 	[CDS_SAP_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
-			CDS_24G_SCC_CH_SBS_CH},
-	[CDS_P2P_CLIENT_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
-			CDS_24G_SCC_CH_SBS_CH},
-	[CDS_P2P_GO_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
-			CDS_24G_SCC_CH_SBS_CH},
+		CDS_24G_SCC_CH_SBS_CH},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_SAP_SAP_MCC_5_1x1] = {
 	[CDS_STA_MODE] = {CDS_24G_SBS_CH_MCC_CH, CDS_24G, CDS_24G_MCC_CH},
 	[CDS_SAP_MODE] = {CDS_24G_SBS_CH_MCC_CH, CDS_24G, CDS_24G_MCC_CH},
-	[CDS_P2P_CLIENT_MODE] = {CDS_24G_SBS_CH_MCC_CH,
-			CDS_24G, CDS_24G_MCC_CH},
-	[CDS_P2P_GO_MODE] = {CDS_24G_MCC_CH, CDS_24G_MCC_CH, CDS_24G_MCC_CH},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_SAP_SAP_MCC_5_2x2] = {
 	[CDS_STA_MODE] = {CDS_24G_SBS_CH_MCC_CH, CDS_24G, CDS_24G_MCC_CH},
 	[CDS_SAP_MODE] = {CDS_24G_SBS_CH_MCC_CH, CDS_24G, CDS_24G_MCC_CH},
-	[CDS_P2P_CLIENT_MODE] = {CDS_24G_SBS_CH_MCC_CH,
-			CDS_24G, CDS_24G_MCC_CH},
-	[CDS_P2P_GO_MODE] = {CDS_24G_MCC_CH, CDS_24G_MCC_CH, CDS_24G_MCC_CH},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -487,10 +489,10 @@ third_connection_pcl_dbs_2x2_table = {
 		CDS_SCC_ON_5_SCC_ON_24},
 	[CDS_SAP_MODE] = { CDS_SCC_ON_5_SCC_ON_24_5G, CDS_SCC_ON_5_SCC_ON_24,
 		CDS_SCC_ON_5_SCC_ON_24},
-	[CDS_P2P_CLIENT_MODE] = { CDS_SCC_ON_5_SCC_ON_24_5G,
-		CDS_SCC_ON_5_SCC_ON_24, CDS_SCC_ON_5_SCC_ON_24},
-	[CDS_P2P_GO_MODE] = { CDS_SCC_ON_5_SCC_ON_24_5G, CDS_SCC_ON_5_SCC_ON_24,
-		CDS_SCC_ON_5_SCC_ON_24},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -499,10 +501,10 @@ third_connection_pcl_dbs_2x2_table = {
 		CDS_SCC_ON_5_SCC_ON_24},
 	[CDS_SAP_MODE] = { CDS_SCC_ON_5_SCC_ON_24_5G, CDS_SCC_ON_5_SCC_ON_24,
 		CDS_SCC_ON_5_SCC_ON_24},
-	[CDS_P2P_CLIENT_MODE] = { CDS_SCC_ON_5_SCC_ON_24_5G,
-		CDS_SCC_ON_5_SCC_ON_24, CDS_SCC_ON_5_SCC_ON_24},
-	[CDS_P2P_GO_MODE] = { CDS_SCC_ON_5_SCC_ON_24_5G, CDS_SCC_ON_5_SCC_ON_24,
-		CDS_SCC_ON_5_SCC_ON_24},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -512,9 +514,9 @@ third_connection_pcl_dbs_2x2_table = {
 	[CDS_SAP_MODE] = {
 		CDS_SBS_CH_5G, CDS_SBS_CH, CDS_SBS_CH},
 	[CDS_P2P_CLIENT_MODE] = {
-		CDS_SBS_CH_5G, CDS_SBS_CH, CDS_SBS_CH},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_GO_MODE] = {
-		CDS_SBS_CH_5G, CDS_SBS_CH, CDS_SBS_CH},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -610,20 +612,26 @@ third_connection_pcl_dbs_2x2_table = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_STA_P2P_GO_MCC_24_5_1x1] = {
-	[CDS_STA_MODE] = {CDS_5G, CDS_5G, CDS_5G},
+	[CDS_STA_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_SAP_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_P2P_CLIENT_MODE] = {CDS_5G, CDS_5G, CDS_5G},
-	[CDS_P2P_GO_MODE] = {CDS_5G, CDS_5G, CDS_5G},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_STA_P2P_GO_MCC_24_5_2x2] = {
-	[CDS_STA_MODE] = {CDS_5G, CDS_5G, CDS_5G},
+	[CDS_STA_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_SAP_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_P2P_CLIENT_MODE] = {CDS_5G, CDS_5G, CDS_5G},
-	[CDS_P2P_GO_MODE] = {CDS_5G, CDS_5G, CDS_5G},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -677,7 +685,7 @@ third_connection_pcl_dbs_2x2_table = {
 
 	[CDS_P2P_GO_SAP_SCC_24_2x2] = {
 	[CDS_STA_MODE] = {
-			CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
+		CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_SAP_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_CLIENT_MODE] = {
@@ -764,8 +772,10 @@ third_connection_pcl_dbs_2x2_table = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_SAP_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_P2P_CLIENT_MODE] = {CDS_5G, CDS_5G, CDS_5G},
-	[CDS_P2P_GO_MODE] = {CDS_5G, CDS_5G, CDS_5G},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -774,8 +784,10 @@ third_connection_pcl_dbs_2x2_table = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_SAP_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_P2P_CLIENT_MODE] = {CDS_5G, CDS_5G, CDS_5G},
-	[CDS_P2P_GO_MODE] = {CDS_5G, CDS_5G, CDS_5G},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -821,9 +833,11 @@ third_connection_pcl_dbs_2x2_table = {
 	[CDS_STA_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_SAP_MODE] = {
+		CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_P2P_CLIENT_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
-	[CDS_P2P_GO_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -831,57 +845,57 @@ third_connection_pcl_dbs_2x2_table = {
 	[CDS_STA_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_SAP_MODE] = {
+		CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_P2P_CLIENT_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
-	[CDS_P2P_GO_MODE] = {CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_STA_P2P_CLI_MCC_24_1x1] = {
 	[CDS_STA_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_SAP_MODE] = {
+	[CDS_SAP_MODE] = {CDS_5G, CDS_5G, CDS_5G},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_P2P_CLIENT_MODE] = {CDS_5G, CDS_5G, CDS_5G},
-	[CDS_P2P_GO_MODE] = {CDS_5G, CDS_5G, CDS_5G},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_STA_P2P_CLI_MCC_24_2x2] = {
 	[CDS_STA_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_SAP_MODE] = {
+	[CDS_SAP_MODE] = {CDS_5G, CDS_5G, CDS_5G},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_P2P_CLIENT_MODE] = {CDS_5G, CDS_5G, CDS_5G},
-	[CDS_P2P_GO_MODE] = {CDS_5G, CDS_5G, CDS_5G},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_STA_P2P_CLI_SCC_5_1x1] = {
 	[CDS_STA_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_SAP_MODE] = {
-		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_SAP_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
+		CDS_24G_SCC_CH_SBS_CH},
 	[CDS_P2P_CLIENT_MODE] = {
-		CDS_24G_SCC_CH_SBS_CH, CDS_24G_SCC_CH_SBS_CH,
-			CDS_24G_SCC_CH_SBS_CH},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_GO_MODE] = {
-		CDS_24G_SCC_CH_SBS_CH, CDS_24G_SCC_CH_SBS_CH,
-			CDS_24G_SCC_CH_SBS_CH},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
 	[CDS_STA_P2P_CLI_SCC_5_2x2] = {
 	[CDS_STA_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_SAP_MODE] = {
-		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_SAP_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
+		CDS_24G_SCC_CH_SBS_CH},
 	[CDS_P2P_CLIENT_MODE] = {
-		CDS_24G_SCC_CH_SBS_CH, CDS_24G_SCC_CH_SBS_CH,
-			CDS_24G_SCC_CH_SBS_CH},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_GO_MODE] = {
-		CDS_24G_SCC_CH_SBS_CH, CDS_24G_SCC_CH_SBS_CH,
-			CDS_24G_SCC_CH_SBS_CH},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -889,11 +903,11 @@ third_connection_pcl_dbs_2x2_table = {
 	[CDS_STA_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_SAP_MODE] = {
+		CDS_24G_SBS_CH_MCC_CH, CDS_24G, CDS_24G_MCC_CH},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_P2P_CLIENT_MODE] = {CDS_24G_MCC_CH, CDS_24G_MCC_CH,
-		CDS_MCC_CH_24G},
-	[CDS_P2P_GO_MODE] = {CDS_MCC_CH_24G, CDS_24G_MCC_CH,
-		CDS_MCC_CH_24G},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -901,20 +915,23 @@ third_connection_pcl_dbs_2x2_table = {
 	[CDS_STA_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_SAP_MODE] = {
+		CDS_24G_SBS_CH_MCC_CH, CDS_24G, CDS_24G_MCC_CH},
+	[CDS_P2P_CLIENT_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_P2P_CLIENT_MODE] = {CDS_24G_MCC_CH, CDS_24G_MCC_CH,
-		CDS_24G_MCC_CH},
-	[CDS_P2P_GO_MODE] = {CDS_24G_MCC_CH, CDS_24G_MCC_CH,
-		CDS_24G_MCC_CH},
-	[CDS_IBSS_MODE] = {CDS_NONE, CDS_NONE, CDS_NONE} },
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_IBSS_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE}, },
 
 	[CDS_STA_P2P_CLI_MCC_24_5_1x1] = {
 	[CDS_STA_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_SAP_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_P2P_CLIENT_MODE] = {CDS_5G, CDS_5G, CDS_5G},
-	[CDS_P2P_GO_MODE] = {CDS_5G, CDS_5G, CDS_5G},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -923,8 +940,10 @@ third_connection_pcl_dbs_2x2_table = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_SAP_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_P2P_CLIENT_MODE] = {CDS_5G, CDS_5G, CDS_5G},
-	[CDS_P2P_GO_MODE] = {CDS_5G, CDS_5G, CDS_5G},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -932,13 +951,12 @@ third_connection_pcl_dbs_2x2_table = {
 	[CDS_STA_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_SAP_MODE] = {
-		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_P2P_CLIENT_MODE] = {
-		CDS_SCC_ON_5_SCC_ON_24, CDS_SCC_ON_5_SCC_ON_24_5G,
+		CDS_SCC_ON_5_SCC_ON_24_5G, CDS_SCC_ON_5_SCC_ON_24,
 		CDS_SCC_ON_5_SCC_ON_24},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_GO_MODE] = {
-		CDS_SCC_ON_5_SCC_ON_24, CDS_SCC_ON_5_SCC_ON_24_5G,
-		CDS_SCC_ON_5_SCC_ON_24},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -946,13 +964,12 @@ third_connection_pcl_dbs_2x2_table = {
 	[CDS_STA_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_SAP_MODE] = {
-		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_P2P_CLIENT_MODE] = {
-		CDS_SCC_ON_5_SCC_ON_24, CDS_SCC_ON_5_SCC_ON_24_5G,
+		CDS_SCC_ON_5_SCC_ON_24_5G, CDS_SCC_ON_5_SCC_ON_24,
 		CDS_SCC_ON_5_SCC_ON_24},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_GO_MODE] = {
-		CDS_SCC_ON_5_SCC_ON_24, CDS_SCC_ON_5_SCC_ON_24_5G,
-		CDS_SCC_ON_5_SCC_ON_24},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -960,11 +977,11 @@ third_connection_pcl_dbs_2x2_table = {
 	[CDS_STA_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_SAP_MODE] = {
-		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
-	[CDS_P2P_CLIENT_MODE] = {
 		CDS_SBS_CH_5G, CDS_SBS_CH, CDS_SBS_CH},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_P2P_GO_MODE] = {
-		CDS_SBS_CH_5G, CDS_SBS_CH, CDS_SBS_CH},
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
 
@@ -1109,6 +1126,159 @@ third_connection_pcl_dbs_2x2_table = {
 		CDS_SBS_CH_5G, CDS_SBS_CH, CDS_SBS_CH},
 	[CDS_IBSS_MODE] = {
 		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
+
+	[CDS_STA_STA_SCC_24_1x1] = {
+	[CDS_STA_MODE] = {
+		CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
+	[CDS_SAP_MODE] = {
+		CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_IBSS_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
+
+	[CDS_STA_STA_SCC_24_2x2] = {
+	[CDS_STA_MODE] = {
+		CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
+	[CDS_SAP_MODE] = {
+		CDS_5G_SCC_CH, CDS_5G_SCC_CH, CDS_5G_SCC_CH},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_IBSS_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
+
+	[CDS_STA_STA_MCC_24_1x1] = {
+	[CDS_STA_MODE] = {CDS_5G, CDS_5G, CDS_5G},
+	[CDS_SAP_MODE] = {CDS_5G, CDS_5G, CDS_5G},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_IBSS_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
+
+	[CDS_STA_STA_MCC_24_2x2] = {
+	[CDS_STA_MODE] = {CDS_5G, CDS_5G, CDS_5G},
+	[CDS_SAP_MODE] = {CDS_5G, CDS_5G, CDS_5G},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_IBSS_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
+
+	[CDS_STA_STA_SCC_5_1x1] = {
+	[CDS_STA_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
+		CDS_24G_SCC_CH_SBS_CH},
+	[CDS_SAP_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
+		CDS_24G_SCC_CH_SBS_CH},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_IBSS_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
+
+	[CDS_STA_STA_SCC_5_2x2] = {
+	[CDS_STA_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
+		CDS_24G_SCC_CH_SBS_CH},
+	[CDS_SAP_MODE] = {CDS_24G_SCC_CH_SBS_CH_5G, CDS_24G_SCC_CH,
+		CDS_24G_SCC_CH_SBS_CH},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_IBSS_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
+
+	[CDS_STA_STA_MCC_5_1x1] = {
+	[CDS_STA_MODE] = {
+		CDS_24G_SBS_CH_MCC_CH, CDS_24G, CDS_24G_MCC_CH},
+	[CDS_SAP_MODE] = {
+		CDS_24G_SBS_CH_MCC_CH, CDS_24G, CDS_24G_MCC_CH},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_IBSS_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
+
+	[CDS_STA_STA_MCC_5_2x2] = {
+	[CDS_STA_MODE] = {
+		CDS_24G_SBS_CH_MCC_CH, CDS_24G, CDS_24G_MCC_CH},
+	[CDS_SAP_MODE] = {
+		CDS_24G_SBS_CH_MCC_CH, CDS_24G, CDS_24G_MCC_CH},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_IBSS_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE}, },
+
+	[CDS_STA_STA_MCC_24_5_1x1] = {
+	[CDS_STA_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_SAP_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_IBSS_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
+
+	[CDS_STA_STA_MCC_24_5_2x2] = {
+	[CDS_STA_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_SAP_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_IBSS_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
+
+	[CDS_STA_STA_DBS_1x1] = {
+	[CDS_STA_MODE] = {CDS_SCC_ON_5_SCC_ON_24_5G, CDS_SCC_ON_5_SCC_ON_24,
+		CDS_SCC_ON_5_SCC_ON_24},
+	[CDS_SAP_MODE] = {CDS_SCC_ON_5_SCC_ON_24_5G, CDS_SCC_ON_5_SCC_ON_24,
+		CDS_SCC_ON_5_SCC_ON_24},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_IBSS_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
+
+	[CDS_STA_STA_DBS_2x2] = {
+	[CDS_STA_MODE] = {CDS_SCC_ON_5_SCC_ON_24_5G, CDS_SCC_ON_5_SCC_ON_24,
+		CDS_SCC_ON_5_SCC_ON_24},
+	[CDS_SAP_MODE] = {CDS_SCC_ON_5_SCC_ON_24_5G, CDS_SCC_ON_5_SCC_ON_24,
+		CDS_SCC_ON_5_SCC_ON_24},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_IBSS_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
+
+	[CDS_STA_STA_SBS_5_1x1] = {
+	[CDS_STA_MODE] = {
+		CDS_SBS_CH_5G, CDS_SBS_CH, CDS_SBS_CH},
+	[CDS_SAP_MODE] = {
+		CDS_SBS_CH_5G, CDS_SBS_CH, CDS_SBS_CH},
+	[CDS_P2P_CLIENT_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_P2P_GO_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE},
+	[CDS_IBSS_MODE] = {
+		CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE, CDS_MAX_PCL_TYPE} },
+
 };
 
 /**
@@ -1202,6 +1372,21 @@ static next_action_three_connection_table_type
 	[CDS_P2P_GO_P2P_CLI_DBS_1x1] = {CDS_NOP,	CDS_NOP},
 	[CDS_P2P_GO_P2P_CLI_DBS_2x2] = {CDS_NOP,	CDS_NOP},
 	[CDS_P2P_GO_P2P_CLI_SBS_5_1x1] = {CDS_DBS_UPGRADE,	CDS_NOP},
+
+	[CDS_STA_STA_SCC_24_1x1] = {CDS_NOP,	CDS_NOP},
+	[CDS_STA_STA_SCC_24_2x2] = {CDS_NOP,	CDS_NOP},
+	[CDS_STA_STA_MCC_24_1x1] = {CDS_NOP,	CDS_NOP},
+	[CDS_STA_STA_MCC_24_2x2] = {CDS_NOP,	CDS_NOP},
+	[CDS_STA_STA_SCC_5_1x1] = {CDS_DBS,	CDS_SBS},
+	[CDS_STA_STA_SCC_5_2x2] = {CDS_DBS,	CDS_SBS_DOWNGRADE},
+	[CDS_STA_STA_MCC_5_1x1] = {CDS_DBS,	CDS_SBS},
+	[CDS_STA_STA_MCC_5_2x2] = {CDS_DBS,	CDS_SBS_DOWNGRADE},
+	[CDS_STA_STA_MCC_24_5_1x1] = {CDS_NOP,	CDS_NOP},
+	[CDS_STA_STA_MCC_24_5_2x2] = {CDS_NOP,	CDS_NOP},
+	[CDS_STA_STA_DBS_1x1] = {CDS_NOP,	CDS_NOP},
+	[CDS_STA_STA_DBS_2x2] = {CDS_NOP,	CDS_NOP},
+	[CDS_STA_STA_SBS_5_1x1] = {CDS_DBS_UPGRADE, CDS_NOP},
+
 };
 
 #endif

+ 71 - 1
core/cds/src/cds_concurrency.c

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -4772,6 +4772,76 @@ enum cds_two_connection_mode cds_get_third_connection_pcl_table_index(void)
 				index = CDS_P2P_GO_SAP_DBS_2x2;
 			}
 		}
+	} else    /* STA + STA */
+	if (((CDS_STA_MODE == conc_connection_list[0].mode) &&
+		(CDS_STA_MODE == conc_connection_list[1].mode)) ||
+		((CDS_STA_MODE == conc_connection_list[0].mode) &&
+		(CDS_STA_MODE == conc_connection_list[1].mode))) {
+		/* SCC */
+		if (conc_connection_list[0].chan ==
+		conc_connection_list[1].chan) {
+			if (CDS_IS_CHANNEL_24GHZ
+				(conc_connection_list[0].chan)) {
+				if (CDS_ONE_ONE ==
+				conc_connection_list[0].chain_mask)
+					index = CDS_STA_STA_SCC_24_1x1;
+				else
+					index = CDS_STA_STA_SCC_24_2x2;
+			} else {
+				if (CDS_ONE_ONE ==
+				conc_connection_list[0].chain_mask)
+					index = CDS_STA_STA_SCC_5_1x1;
+				else
+					index = CDS_STA_STA_SCC_5_2x2;
+			}
+		/* MCC */
+		} else if (conc_connection_list[0].mac ==
+			conc_connection_list[1].mac) {
+			if ((CDS_IS_CHANNEL_24GHZ(
+				conc_connection_list[0].chan)) &&
+				(CDS_IS_CHANNEL_24GHZ(
+				conc_connection_list[1].chan))) {
+				if (CDS_ONE_ONE ==
+					conc_connection_list[0].chain_mask)
+					index = CDS_STA_STA_MCC_24_1x1;
+				else
+					index = CDS_STA_STA_MCC_24_2x2;
+			} else if ((CDS_IS_CHANNEL_5GHZ(
+				conc_connection_list[0].chan)) &&
+				(CDS_IS_CHANNEL_5GHZ(
+				conc_connection_list[1].chan))) {
+				if (CDS_ONE_ONE ==
+					conc_connection_list[0].chain_mask)
+					index = CDS_STA_STA_MCC_5_1x1;
+				else
+					index = CDS_STA_STA_MCC_5_2x2;
+			} else {
+				if (CDS_ONE_ONE ==
+					conc_connection_list[0].chain_mask)
+					index = CDS_STA_STA_MCC_24_5_1x1;
+				else
+					index = CDS_STA_STA_MCC_24_5_2x2;
+			}
+			/* SBS */
+		} else if (conc_connection_list[0].mac !=
+				conc_connection_list[1].mac) {
+			if ((CDS_IS_CHANNEL_5GHZ(
+				conc_connection_list[0].chan)) &&
+				(CDS_IS_CHANNEL_5GHZ(
+				conc_connection_list[1].chan))) {
+				if (CDS_ONE_ONE ==
+					conc_connection_list[0].chain_mask)
+					index = CDS_STA_STA_SBS_5_1x1;
+			}
+		/* DBS */
+		} else {
+			if (CDS_ONE_ONE ==
+				conc_connection_list[0].chain_mask) {
+				index = CDS_STA_STA_DBS_1x1;
+			} else {
+				index = CDS_STA_STA_DBS_2x2;
+			}
+		}
 	}
 
 	cds_debug("mode0:%d mode1:%d chan0:%d chan1:%d chain:%d index:%d",