summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkash Patel <akashp@codeaurora.org>2014-08-29 08:01:18 -0700
committerAkash Patel <akashp@codeaurora.org>2014-08-29 08:03:03 -0700
commitba926e1e8c8e0b2bb8d9b33c8b6f6dca5b0b540d (patch)
treea3a814d2d8b4e5993b1996be31a0f6ab4d339a93
parent62c32d8a96e531a911925f7511b6d5165376e927 (diff)
parent30d2ebc811d6fbb23fb0f4449d118a858b4acc44 (diff)
Release 1.0.0.180 QCACLD WLAN Driver
Merge remote-tracking branch 'origin/caf/caf-wlan/master' into HEAD * origin/caf/caf-wlan/master: Cafstaging Release 1.0.0.180 qcacld: Fix accessing reserved bytes in BSS descriptor qcacld: WMA: Debug logs for channel frequency HDD: Add AUTO Phymode support in iwpriv command Change-Id: I42d4e75d8dbe131b2601daf47910d2004bf71bb2
-rw-r--r--CORE/HDD/inc/qc_sap_ioctl.h3
-rw-r--r--CORE/HDD/inc/wlan_hdd_wext.h3
-rw-r--r--CORE/HDD/src/wlan_hdd_hostapd.c13
-rw-r--r--CORE/HDD/src/wlan_hdd_wext.c24
-rw-r--r--CORE/MAC/inc/qwlan_version.h4
-rw-r--r--CORE/MAC/src/pe/lim/limSerDesUtils.c4
-rw-r--r--CORE/SERVICES/COMMON/_ieee80211_common.h2
-rw-r--r--CORE/SERVICES/WMA/wma.c2
8 files changed, 51 insertions, 4 deletions
diff --git a/CORE/HDD/inc/qc_sap_ioctl.h b/CORE/HDD/inc/qc_sap_ioctl.h
index 58400191e95a..b9acabb97589 100644
--- a/CORE/HDD/inc/qc_sap_ioctl.h
+++ b/CORE/HDD/inc/qc_sap_ioctl.h
@@ -238,7 +238,8 @@ enum {
QCASAP_TX_CHAINMASK_CMD,
QCASAP_RX_CHAINMASK_CMD,
QCASAP_NSS_CMD,
- QCSAP_IPA_UC_STAT
+ QCSAP_IPA_UC_STAT,
+ QCASAP_SET_PHYMODE,
};
int iw_softap_get_channel_list(struct net_device *dev,
diff --git a/CORE/HDD/inc/wlan_hdd_wext.h b/CORE/HDD/inc/wlan_hdd_wext.h
index ced7250f16b1..b4667a1da119 100644
--- a/CORE/HDD/inc/wlan_hdd_wext.h
+++ b/CORE/HDD/inc/wlan_hdd_wext.h
@@ -435,5 +435,8 @@ VOS_STATUS wlan_hdd_set_powersave(hdd_adapter_t *pAdapter, int mode);
int hdd_setBand(struct net_device *dev, u8 ui_band);
int hdd_setBand_helper(struct net_device *dev, const char *command);
+int wlan_hdd_update_phymode(struct net_device *net, tHalHandle hal,
+ int new_phymode,
+ hdd_context_t *phddctx);
#endif // __WEXT_IW_H__
diff --git a/CORE/HDD/src/wlan_hdd_hostapd.c b/CORE/HDD/src/wlan_hdd_hostapd.c
index 6897b439e43f..d2c46877d130 100644
--- a/CORE/HDD/src/wlan_hdd_hostapd.c
+++ b/CORE/HDD/src/wlan_hdd_hostapd.c
@@ -2657,6 +2657,13 @@ static iw_softap_setparam(struct net_device *dev,
return ret;
}
#endif /* IPA_UC_OFFLOAD */
+ case QCASAP_SET_PHYMODE:
+ {
+ hdd_context_t *phddctx = WLAN_HDD_GET_CTX(pHostapdAdapter);
+
+ ret = wlan_hdd_update_phymode(dev, hHal, set_value, phddctx);
+ break;
+ }
default:
hddLog(LOGE, FL("Invalid setparam command %d value %d"),
sub_cmd, set_value);
@@ -4723,6 +4730,11 @@ static const struct iw_priv_args hostapd_private_args[] = {
0,
"set_nss" },
+ { QCASAP_SET_PHYMODE,
+ IW_PRIV_TYPE_INT| IW_PRIV_SIZE_FIXED | 1,
+ 0,
+ "setphymode" },
+
{ QCSAP_IOCTL_GETPARAM, 0,
IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "getparam" },
{ QCSAP_IOCTL_GETPARAM, 0,
@@ -4869,6 +4881,7 @@ static const struct iw_priv_args hostapd_private_args[] = {
IW_PRIV_TYPE_INT| IW_PRIV_SIZE_FIXED | 1,
0,
"setTrafficMon" },
+
};
static const iw_handler hostapd_private[] = {
diff --git a/CORE/HDD/src/wlan_hdd_wext.c b/CORE/HDD/src/wlan_hdd_wext.c
index 64f2483e3158..2394753d95b2 100644
--- a/CORE/HDD/src/wlan_hdd_wext.c
+++ b/CORE/HDD/src/wlan_hdd_wext.c
@@ -4303,7 +4303,7 @@ int process_wma_set_command(int sessid, int paramid,
return ret;
}
-static int wlan_hdd_update_phymode(struct net_device *net, tHalHandle hal,
+int wlan_hdd_update_phymode(struct net_device *net, tHalHandle hal,
int new_phymode,
hdd_context_t *phddctx)
{
@@ -4456,6 +4456,28 @@ static int wlan_hdd_update_phymode(struct net_device *net, tHalHandle hal,
}
break;
#endif
+ case IEEE80211_MODE_2G_AUTO:
+ sme_SetPhyMode(hal, eCSR_DOT11_MODE_AUTO);
+ if ((hdd_setBand(net, WLAN_HDD_UI_BAND_2_4_GHZ) == 0)) {
+ phymode = eCSR_DOT11_MODE_AUTO;
+ chwidth = WNI_CFG_CHANNEL_BONDING_MODE_ENABLE;
+ curr_band = eCSR_BAND_24;
+ } else {
+ sme_SetPhyMode(hal, old_phymode);
+ return -EIO;
+ }
+ break;
+ case IEEE80211_MODE_5G_AUTO:
+ sme_SetPhyMode(hal, eCSR_DOT11_MODE_AUTO);
+ if ((hdd_setBand(net, WLAN_HDD_UI_BAND_5_GHZ) == 0)) {
+ phymode = eCSR_DOT11_MODE_AUTO;
+ chwidth = WNI_CFG_CHANNEL_BONDING_MODE_ENABLE;
+ curr_band = eCSR_BAND_5G;
+ } else {
+ sme_SetPhyMode(hal, old_phymode);
+ return -EIO;
+ }
+ break;
default:
return -EIO;
}
diff --git a/CORE/MAC/inc/qwlan_version.h b/CORE/MAC/inc/qwlan_version.h
index dc2ad818d6de..00598ccb14e8 100644
--- a/CORE/MAC/inc/qwlan_version.h
+++ b/CORE/MAC/inc/qwlan_version.h
@@ -42,9 +42,9 @@ BRIEF DESCRIPTION:
#define QWLAN_VERSION_MINOR 0
#define QWLAN_VERSION_PATCH 0
#define QWLAN_VERSION_EXTRA ""
-#define QWLAN_VERSION_BUILD 179
+#define QWLAN_VERSION_BUILD 180
-#define QWLAN_VERSIONSTR "1.0.0.179"
+#define QWLAN_VERSIONSTR "1.0.0.180"
#define AR6320_REV1_VERSION 0x5000000
diff --git a/CORE/MAC/src/pe/lim/limSerDesUtils.c b/CORE/MAC/src/pe/lim/limSerDesUtils.c
index ec8cb0ab7458..d098a67a0d32 100644
--- a/CORE/MAC/src/pe/lim/limSerDesUtils.c
+++ b/CORE/MAC/src/pe/lim/limSerDesUtils.c
@@ -242,6 +242,10 @@ limGetBssDescription( tpAniSirGlobal pMac, tSirBssDescription *pBssDescription,
len -= sizeof(tANI_U16);
if (limCheckRemainingLength(pMac, len) == eSIR_FAILURE)
return eSIR_FAILURE;
+
+ /* 4 reserved bytes for padding */
+ pBuf += sizeof(tANI_U32);
+ len -= 4;
#endif
pBssDescription->fProbeRsp = *pBuf++;
len -= sizeof(tANI_U8);
diff --git a/CORE/SERVICES/COMMON/_ieee80211_common.h b/CORE/SERVICES/COMMON/_ieee80211_common.h
index 3a0c9a431c07..c52fb22517cd 100644
--- a/CORE/SERVICES/COMMON/_ieee80211_common.h
+++ b/CORE/SERVICES/COMMON/_ieee80211_common.h
@@ -59,6 +59,8 @@ enum ieee80211_phymode {
IEEE80211_MODE_11AC_VHT40MINUS = 17, /* 5Ghz VHT40 (Ext ch -1) */
IEEE80211_MODE_11AC_VHT40 = 18, /* 5Ghz, VHT40 */
IEEE80211_MODE_11AC_VHT80 = 19, /* 5Ghz, VHT80 */
+ IEEE80211_MODE_2G_AUTO = 20, /* 2G 11 b/g/n autoselect */
+ IEEE80211_MODE_5G_AUTO = 21, /* 5G 11 a/n/ac autoselect */
};
#define IEEE80211_MODE_MAX (IEEE80211_MODE_11AC_VHT80 + 1)
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c
index 14eb72910e2e..97911a2505f7 100644
--- a/CORE/SERVICES/WMA/wma.c
+++ b/CORE/SERVICES/WMA/wma.c
@@ -24772,6 +24772,8 @@ VOS_STATUS WDA_TxPacket(void *wma_context, void *tx_frame, u_int16_t frmLen,
WMA_LOGI("%s: Preauth frame on channel %d", __func__, chanfreq);
} else if(pFc->subType == SIR_MAC_MGMT_PROBE_RSP){
chanfreq = wma_handle->interfaces[vdev_id].mhz;
+ WMA_LOGI("%s: Probe response frame on channel %d", __func__, chanfreq);
+ WMA_LOGI("%s: Probe response frame on vdev id %d", __func__, vdev_id);
} else {
chanfreq = 0;
}