diff options
| author | Akash Patel <akashp@codeaurora.org> | 2014-08-29 08:01:18 -0700 |
|---|---|---|
| committer | Akash Patel <akashp@codeaurora.org> | 2014-08-29 08:03:03 -0700 |
| commit | ba926e1e8c8e0b2bb8d9b33c8b6f6dca5b0b540d (patch) | |
| tree | a3a814d2d8b4e5993b1996be31a0f6ab4d339a93 | |
| parent | 62c32d8a96e531a911925f7511b6d5165376e927 (diff) | |
| parent | 30d2ebc811d6fbb23fb0f4449d118a858b4acc44 (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.h | 3 | ||||
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_wext.h | 3 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_hostapd.c | 13 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_wext.c | 24 | ||||
| -rw-r--r-- | CORE/MAC/inc/qwlan_version.h | 4 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limSerDesUtils.c | 4 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/_ieee80211_common.h | 2 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/wma.c | 2 |
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; } |
