Browse Source

qcacld-3.0: Fix NOL updating issue

Make sure to update NOL correctly for all the right bonding channel.

Irrelevant channel will be marked as eSAP_DFS_CHANNEL_UNAVAILABLE if
wrong bonding channel is gotten.

Change-Id: I40420bdc881ce83aadbce87c10911507be4f3144
CRs-Fixed: 2093557
bings 7 years ago
parent
commit
d1b43e5401
1 changed files with 2 additions and 81 deletions
  1. 2 81
      core/sap/src/sap_fsm.c

+ 2 - 81
core/sap/src/sap_fsm.c

@@ -1457,85 +1457,6 @@ bool sap_check_in_avoid_ch_list(ptSapContext sap_ctx, uint8_t channel)
 }
 #endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
 
-/*
- * This Function is to get bonding channels from primary channel.
- *
- */
-static uint8_t sap_get_bonding_channels(ptSapContext sapContext,
-					uint8_t channel,
-					uint8_t *channels, uint8_t size,
-					ePhyChanBondState chanBondState)
-{
-	tHalHandle hHal = CDS_GET_HAL_CB(sapContext->p_cds_gctx);
-	tpAniSirGlobal pMac;
-	uint8_t numChannel;
-
-	if (channels == NULL)
-		return 0;
-
-	if (size < MAX_BONDED_CHANNELS)
-		return 0;
-
-	if (NULL != hHal) {
-		pMac = PMAC_STRUCT(hHal);
-	} else
-		return 0;
-
-	QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_DEBUG,
-		  FL("cbmode: %d, channel: %d"), chanBondState, channel);
-
-	switch (chanBondState) {
-	case PHY_SINGLE_CHANNEL_CENTERED:
-		numChannel = 1;
-		channels[0] = channel;
-		break;
-	case PHY_DOUBLE_CHANNEL_HIGH_PRIMARY:
-		numChannel = 2;
-		channels[0] = channel - 4;
-		channels[1] = channel;
-		break;
-	case PHY_DOUBLE_CHANNEL_LOW_PRIMARY:
-		numChannel = 2;
-		channels[0] = channel;
-		channels[1] = channel + 4;
-		break;
-	case PHY_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW:
-		numChannel = 4;
-		channels[0] = channel;
-		channels[1] = channel + 4;
-		channels[2] = channel + 8;
-		channels[3] = channel + 12;
-		break;
-	case PHY_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW:
-		numChannel = 4;
-		channels[0] = channel - 4;
-		channels[1] = channel;
-		channels[2] = channel + 4;
-		channels[3] = channel + 8;
-		break;
-	case PHY_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH:
-		numChannel = 4;
-		channels[0] = channel - 8;
-		channels[1] = channel - 4;
-		channels[2] = channel;
-		channels[3] = channel + 4;
-		break;
-	case PHY_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH:
-		numChannel = 4;
-		channels[0] = channel - 12;
-		channels[1] = channel - 8;
-		channels[2] = channel - 4;
-		channels[3] = channel;
-		break;
-	default:
-		numChannel = 1;
-		channels[0] = channel;
-		break;
-	}
-
-	return numChannel;
-}
-
 /**
  * sap_dfs_is_channel_in_nol_list() - given bonded channel is available
  * @sap_context: Handle to SAP context.
@@ -1580,8 +1501,8 @@ sap_dfs_is_channel_in_nol_list(ptSapContext sap_context,
 	}
 
 	/* get the bonded channels */
-	num_channels = sap_get_bonding_channels(sap_context, channel_number,
-			channels, MAX_BONDED_CHANNELS, chan_bondState);
+	num_channels = sap_ch_params_to_bonding_channels(
+					&sap_context->ch_params, channels);
 
 	pdev = mac_ctx->pdev;
 	if (!pdev) {