mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 16:46:15 -04:00
qcacld-3.0: Enable 802.11p channel configuration from ini
Currently 802.11p channels are by default enabled. To make it configurable, use ini value gDot11PMode. Change-Id: I70417f79d179649df9597c02ec51fe46ef953b91 CRs-Fixed: 2098677
This commit is contained in:
parent
f22263c8e0
commit
cc2e0d3e7e
2 changed files with 48 additions and 10 deletions
|
|
@ -6352,6 +6352,9 @@ void hdd_cfg_print(hdd_context_t *pHddCtx)
|
|||
hdd_debug("Name = [%s] value = [%u]",
|
||||
CFG_RANDOMIZE_NDI_MAC_NAME,
|
||||
pHddCtx->config->is_ndi_mac_randomized);
|
||||
hdd_debug("Name = [%s] value = [%u]",
|
||||
CFG_DOT11P_MODE_NAME,
|
||||
pHddCtx->config->dot11p_mode);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -248,6 +248,9 @@ static const struct ieee80211_channel hdd_channels_5_ghz[] = {
|
|||
HDD5GHZCHAN(5785, 157, 0),
|
||||
HDD5GHZCHAN(5805, 161, 0),
|
||||
HDD5GHZCHAN(5825, 165, 0),
|
||||
};
|
||||
|
||||
static const struct ieee80211_channel hdd_channels_dot11p[] = {
|
||||
HDD5GHZCHAN(5852, 170, 0),
|
||||
HDD5GHZCHAN(5855, 171, 0),
|
||||
HDD5GHZCHAN(5860, 172, 0),
|
||||
|
|
@ -12049,6 +12052,7 @@ int wlan_hdd_cfg80211_init(struct device *dev,
|
|||
{
|
||||
int i, j;
|
||||
hdd_context_t *pHddCtx = wiphy_priv(wiphy);
|
||||
int len = 0;
|
||||
|
||||
ENTER();
|
||||
|
||||
|
|
@ -12180,18 +12184,41 @@ int wlan_hdd_cfg80211_init(struct device *dev,
|
|||
(eHDD_DOT11_MODE_11b_ONLY != pCfg->dot11Mode) &&
|
||||
(eHDD_DOT11_MODE_11g_ONLY != pCfg->dot11Mode))) {
|
||||
wiphy->bands[HDD_NL80211_BAND_5GHZ] = &wlan_hdd_band_5_ghz;
|
||||
wiphy->bands[HDD_NL80211_BAND_5GHZ]->channels =
|
||||
|
||||
if (pCfg->dot11p_mode) {
|
||||
wiphy->bands[HDD_NL80211_BAND_5GHZ]->channels =
|
||||
qdf_mem_malloc(sizeof(hdd_channels_5_ghz) +
|
||||
sizeof(hdd_channels_dot11p));
|
||||
if (wiphy->bands[HDD_NL80211_BAND_5GHZ]->channels ==
|
||||
NULL) {
|
||||
goto mem_fail;
|
||||
}
|
||||
wiphy->bands[HDD_NL80211_BAND_5GHZ]->n_channels =
|
||||
QDF_ARRAY_SIZE(hdd_channels_5_ghz) +
|
||||
QDF_ARRAY_SIZE(hdd_channels_dot11p);
|
||||
|
||||
qdf_mem_copy(wiphy->bands[HDD_NL80211_BAND_5GHZ]->
|
||||
channels, &hdd_channels_5_ghz[0],
|
||||
sizeof(hdd_channels_5_ghz));
|
||||
len = sizeof(hdd_channels_5_ghz);
|
||||
qdf_mem_copy((char *)wiphy->
|
||||
bands[HDD_NL80211_BAND_5GHZ]->channels
|
||||
+ len,
|
||||
&hdd_channels_dot11p[0],
|
||||
sizeof(hdd_channels_dot11p));
|
||||
|
||||
} else {
|
||||
wiphy->bands[HDD_NL80211_BAND_5GHZ]->channels =
|
||||
qdf_mem_malloc(sizeof(hdd_channels_5_ghz));
|
||||
if (wiphy->bands[HDD_NL80211_BAND_5GHZ]->channels == NULL) {
|
||||
hdd_err("Not enough memory to allocate channels");
|
||||
qdf_mem_free(wiphy->
|
||||
bands[HDD_NL80211_BAND_2GHZ]->channels);
|
||||
wiphy->bands[HDD_NL80211_BAND_2GHZ]->channels = NULL;
|
||||
return -ENOMEM;
|
||||
if (wiphy->bands[HDD_NL80211_BAND_5GHZ]->channels ==
|
||||
NULL) {
|
||||
goto mem_fail;
|
||||
}
|
||||
qdf_mem_copy(wiphy->
|
||||
bands[HDD_NL80211_BAND_5GHZ]->channels,
|
||||
&hdd_channels_5_ghz[0],
|
||||
sizeof(hdd_channels_5_ghz));
|
||||
}
|
||||
qdf_mem_copy(wiphy->bands[HDD_NL80211_BAND_5GHZ]->channels,
|
||||
&hdd_channels_5_ghz[0],
|
||||
sizeof(hdd_channels_5_ghz));
|
||||
}
|
||||
|
||||
for (i = 0; i < HDD_NUM_NL80211_BANDS; i++) {
|
||||
|
|
@ -12266,6 +12293,14 @@ int wlan_hdd_cfg80211_init(struct device *dev,
|
|||
|
||||
EXIT();
|
||||
return 0;
|
||||
|
||||
mem_fail:
|
||||
hdd_err("Not enough memory to allocate channels");
|
||||
if (wiphy->bands[HDD_NL80211_BAND_2GHZ]->channels != NULL) {
|
||||
qdf_mem_free(wiphy->bands[HDD_NL80211_BAND_2GHZ]->channels);
|
||||
wiphy->bands[HDD_NL80211_BAND_2GHZ]->channels = NULL;
|
||||
}
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue