diff options
author | Andy Green <andy.green@linaro.org> | 2015-01-01 11:39:39 +0800 |
---|---|---|
committer | Andy Green <andy.green@linaro.org> | 2015-01-01 12:13:18 +0800 |
commit | a9705a3ece7d8c4ba0852e6649892bf6c024fc63 (patch) | |
tree | 537e7dc2bd0090fb1c2deb13282582edc553fb94 | |
parent | a4ef95efcd5de095f0600c614439ff69314207a0 (diff) |
prima uplevelmainline-basis-test-2015-01-01-1
Signed-off-by: Andy Green <andy.green@linaro.org>
39 files changed, 221 insertions, 370 deletions
diff --git a/arch/arm/configs/msm8916-qrd_defconfig b/arch/arm/configs/msm8916-qrd_defconfig index 9c8279736e93..ba834ef36735 100644 --- a/arch/arm/configs/msm8916-qrd_defconfig +++ b/arch/arm/configs/msm8916-qrd_defconfig @@ -99,6 +99,8 @@ CONFIG_ATH_CARDS=y CONFIG_ATH_DEBUG=y # CONFIG_RTL_CARDS is not set CONFIG_PRONTO_WLAN=m +CONFIG_PRIMA_WLAN_LFR=y +CONFIG_ENABLE_LINUX_REG=y CONFIG_SERIAL_MSM=y CONFIG_SERIAL_MSM_CONSOLE=y CONFIG_HW_RANDOM=y diff --git a/drivers/clk/qcom/clock-gcc-8916.c b/drivers/clk/qcom/clock-gcc-8916.c index ed6c0e8fbc74..e1a680df4c9e 100644 --- a/drivers/clk/qcom/clock-gcc-8916.c +++ b/drivers/clk/qcom/clock-gcc-8916.c @@ -2921,7 +2921,7 @@ static struct clk_lookup msm_clocks_gcc_mdss[] = { CLK_LIST(gcc_mdss_byte0_clk), }; -static int __init msm_gcc_mdss_probe(struct platform_device *pdev) +static int msm_gcc_mdss_probe(struct platform_device *pdev) { int counter = 0, ret = 0; diff --git a/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_cfg.h b/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_cfg.h index ea5e05d1f614..88c5faa24d3b 100644 --- a/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_cfg.h +++ b/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_cfg.h @@ -61,7 +61,7 @@ #include <csrApi.h> //Number of items that can be configured -#define MAX_CFG_INI_ITEMS 320 +#define MAX_CFG_INI_ITEMS 380 // Defines for all of the things we read from the configuration (registry). diff --git a/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_hostapd.h b/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_hostapd.h index 2c2fdc9f983d..bdf84ad3fdfd 100644 --- a/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_hostapd.h +++ b/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_hostapd.h @@ -95,8 +95,8 @@ hdd_TranslateWPAToCsrAuthType(u_int8_t auth_suite[4]); eCsrEncryptionType hdd_TranslateWPAToCsrEncryptionType(u_int8_t cipher_suite[4]); -VOS_STATUS hdd_softap_sta_deauth(hdd_adapter_t*,v_U8_t*); -void hdd_softap_sta_disassoc(hdd_adapter_t*,v_U8_t*); +VOS_STATUS hdd_softap_sta_deauth(hdd_adapter_t*, const v_U8_t*); +void hdd_softap_sta_disassoc(hdd_adapter_t*, const v_U8_t*); void hdd_softap_tkip_mic_fail_counter_measure(hdd_adapter_t*,v_BOOL_t); int hdd_softap_unpackIE( tHalHandle halHandle, eCsrEncryptionType *pEncryptType, diff --git a/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_main.h b/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_main.h index 6516ce70eb80..5ae6c0d214b9 100644 --- a/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_main.h +++ b/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_main.h @@ -68,9 +68,6 @@ #include <wlan_hdd_wmm.h> #include <wlan_hdd_cfg.h> #include <linux/spinlock.h> -#ifdef WLAN_OPEN_SOURCE -#include <linux/wakelock.h> -#endif #include <wlan_hdd_ftm.h> #ifdef FEATURE_WLAN_TDLS #include "wlan_hdd_tdls.h" @@ -1204,12 +1201,6 @@ struct hdd_context_s /* Thermal mitigation information */ hdd_thermal_mitigation_info_t tmInfo; -#ifdef WLAN_OPEN_SOURCE -#ifdef WLAN_FEATURE_HOLD_RX_WAKELOCK - struct wake_lock rx_wake_lock; -#endif -#endif - /* * Framework initiated driver restarting * hdd_reload_timer : Restart retry timer @@ -1227,10 +1218,6 @@ struct hdd_context_s is invoked*/ v_BOOL_t is_dynamic_channel_range_set; -#ifdef WLAN_OPEN_SOURCE - struct wake_lock sap_wake_lock; -#endif - #ifdef FEATURE_WLAN_TDLS eTDLSSupportMode tdls_mode; eTDLSSupportMode tdls_mode_last; diff --git a/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_p2p.h b/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_p2p.h index bdec463f27d6..2d2f60a6873e 100644 --- a/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_p2p.h +++ b/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_p2p.h @@ -151,37 +151,9 @@ void hdd_sendActionCnf( hdd_adapter_t *pAdapter, tANI_BOOLEAN actionSendSuccess int wlan_hdd_check_remain_on_channel(hdd_adapter_t *pAdapter); void wlan_hdd_cancel_existing_remain_on_channel(hdd_adapter_t *pAdapter); -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)) -int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct wireless_dev *wdev, - struct ieee80211_channel *chan, bool offchan, -#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)) - enum nl80211_channel_type channel_type, - bool channel_type_valid, -#endif - unsigned int wait, - const u8 *buf, size_t len, bool no_cck, - bool dont_wait_for_ack, u64 *cookie ); -#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)) -int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, - struct ieee80211_channel *chan, bool offchan, - enum nl80211_channel_type channel_type, - bool channel_type_valid, unsigned int wait, - const u8 *buf, size_t len, bool no_cck, - bool dont_wait_for_ack, u64 *cookie ); -#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)) -int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, - struct ieee80211_channel *chan, bool offchan, - enum nl80211_channel_type channel_type, - bool channel_type_valid, unsigned int wait, - const u8 *buf, size_t len, u64 *cookie ); -#else -int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, - struct ieee80211_channel *chan, - enum nl80211_channel_type channel_type, - bool channel_type_valid, - const u8 *buf, size_t len, u64 *cookie ); -#endif - +int wlan_hdd_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev, + struct cfg80211_mgmt_tx_params *params, + u64 *cookie); #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,7,0)) struct wireless_dev* wlan_hdd_add_virtual_intf( diff --git a/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_wmm.h b/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_wmm.h index 807c2ee8afa0..05d1dbe7b5be 100644 --- a/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_wmm.h +++ b/drivers/net/wireless/prima/CORE/HDD/inc/wlan_hdd_wmm.h @@ -248,7 +248,7 @@ VOS_STATUS hdd_wmm_adapter_close ( hdd_adapter_t* pAdapter ); @return : queue_index/linux AC value. ===========================================================================*/ -v_U16_t hdd_wmm_select_queue(struct net_device * dev, struct sk_buff *skb); +v_U16_t hdd_wmm_select_queue(struct net_device * dev, struct sk_buff *skb, void *accel_priv, select_queue_fallback_t fallback); /**============================================================================ @brief hdd_hostapd_select_queue() - Function which will classify the packet @@ -261,7 +261,7 @@ v_U16_t hdd_wmm_select_queue(struct net_device * dev, struct sk_buff *skb); @return : Qdisc queue index ===========================================================================*/ -v_U16_t hdd_hostapd_select_queue(struct net_device * dev, struct sk_buff *skb); +v_U16_t hdd_hostapd_select_queue(struct net_device * dev, struct sk_buff *skb, void *accel_priv, select_queue_fallback_t fallback); diff --git a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_assoc.c b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_assoc.c index c6398fa0eed4..196df57441cc 100644 --- a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_assoc.c +++ b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_assoc.c @@ -762,7 +762,7 @@ static eHalStatus hdd_DisConnectHandler( hdd_adapter_t *pAdapter, tCsrRoamInfo * netif_tx_disable(dev); netif_carrier_off(dev); - INIT_COMPLETION(pAdapter->disconnect_comp_var); + reinit_completion(&pAdapter->disconnect_comp_var); hdd_connSetConnectionState( pHddStaCtx, eConnectionState_Disconnecting ); /* If only STA mode is on */ if((pHddCtx->concurrency_mode <= 1) && (pHddCtx->no_of_sessions[WLAN_HDD_INFRA_STATION] <=1)) @@ -1167,7 +1167,7 @@ static eHalStatus hdd_AssociationCompletionHandler( hdd_adapter_t *pAdapter, tCs // Initialize the Linkup event completion variable - INIT_COMPLETION(pAdapter->linkup_event_var); + reinit_completion(&pAdapter->linkup_event_var); /* Sometimes Switching ON the Carrier is taking time to activate the device properly. Before allowing any @@ -1595,7 +1595,7 @@ static void hdd_RoamIbssIndicationHandler( hdd_adapter_t *pAdapter, return; } - cfg80211_ibss_joined(pAdapter->dev, bss->bssid, GFP_KERNEL); + cfg80211_ibss_joined(pAdapter->dev, bss->bssid, /* struct ieee80211_channel *channel*/ NULL, GFP_KERNEL); cfg80211_put_bss( #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) pHddCtx->wiphy, @@ -1735,7 +1735,7 @@ static eHalStatus roamIbssConnectHandler( hdd_adapter_t *pAdapter, tCsrRoamInfo return eHAL_STATUS_FAILURE; } /* send ibss join indication to nl80211 */ - cfg80211_ibss_joined(pAdapter->dev, &pRoamInfo->bssid[0], GFP_KERNEL); + cfg80211_ibss_joined(pAdapter->dev, &pRoamInfo->bssid[0], /* channel*/ NULL, GFP_KERNEL); cfg80211_put_bss( #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) WLAN_HDD_GET_CTX(pAdapter)->wiphy, @@ -3225,7 +3225,7 @@ int iw_set_essid(struct net_device *dev, { VOS_STATUS vosStatus; // need to issue a disconnect to CSR. - INIT_COMPLETION(pAdapter->disconnect_comp_var); + reinit_completion(&pAdapter->disconnect_comp_var); vosStatus = sme_RoamDisconnect( hHal, pAdapter->sessionId, eCSR_DISCONNECT_REASON_UNSPECIFIED ); if(VOS_STATUS_SUCCESS == vosStatus) @@ -3868,7 +3868,7 @@ void hdd_indicateUnprotMgmtFrame( hdd_adapter_t *pAdapter, } else if (type == SIR_MAC_MGMT_FRAME && subType == SIR_MAC_MGMT_DEAUTH) { - cfg80211_send_unprot_deauth(pAdapter->dev, pbFrames, nFrameLength); + cfg80211_rx_unprot_mlme_mgmt(pAdapter->dev, pbFrames, nFrameLength); pAdapter->hdd_stats.hddPmfStats.numUnprotDeauthRx++; } else diff --git a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_cfg.c b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_cfg.c index 00f434a3f06f..e4429d464cf2 100644 --- a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_cfg.c +++ b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_cfg.c @@ -196,6 +196,7 @@ static void cbNotifySetEnableSSR(hdd_context_t *pHddCtx, unsigned long NotifyId) sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR); } +#ifdef FEATURE_WLAN_LFR #ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD static void cbNotifyUpdateRoamScanOffloadEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId) { @@ -213,6 +214,7 @@ static void cbNotifySetEnableFastRoamInConcurrency(hdd_context_t *pHddCtx, unsig } #endif +#endif REG_TABLE_ENTRY g_registry_table[] = { @@ -1127,6 +1129,7 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_OKC_FEATURE_ENABLED_MAX, cbNotifySetOkcFeatureEnabled, 0 ), #endif +#ifdef FEATURE_WLAN_LFR #ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer, hdd_config_t, isRoamOffloadScanEnabled, @@ -1136,6 +1139,7 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX, cbNotifyUpdateRoamScanOffloadEnabled, 0), #endif +#endif REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer, hdd_config_t, PktClassificationBasis, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, @@ -2694,6 +2698,7 @@ REG_VARIABLE( CFG_TDLS_EXTERNAL_CONTROL, WLAN_PARAM_Integer, CFG_SCAN_OFFLOAD_DEFAULT, CFG_SCAN_OFFLOAD_DISABLE, CFG_SCAN_OFFLOAD_ENABLE ), +#ifdef FEATURE_WLAN_LFR #ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD REG_DYNAMIC_VARIABLE( CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY, WLAN_PARAM_Integer, @@ -2704,7 +2709,7 @@ REG_VARIABLE( CFG_TDLS_EXTERNAL_CONTROL, WLAN_PARAM_Integer, CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX, cbNotifySetEnableFastRoamInConcurrency, 0 ), #endif - +#endif REG_VARIABLE( CFG_ENABLE_ADAPT_RX_DRAIN_NAME, WLAN_PARAM_Integer, hdd_config_t, fEnableAdaptRxDrain, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK , diff --git a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_cfg80211.c b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_cfg80211.c index c3afe106ea91..92137122e1da 100644 --- a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_cfg80211.c +++ b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_cfg80211.c @@ -710,12 +710,12 @@ int wlan_hdd_cfg80211_init(struct device *dev, #ifndef CONFIG_ENABLE_LINUX_REG /* the flag for the other case would be initialzed in vos_init_wiphy_from_nv_bin */ - wiphy->flags |= WIPHY_FLAG_STRICT_REGULATORY; + wiphy->regulatory_flags |= REGULATORY_STRICT_REG; #endif /* This will disable updating of NL channels from passive to * active if a beacon is received on passive channel. */ - wiphy->flags |= WIPHY_FLAG_DISABLE_BEACON_HINTS; + wiphy->regulatory_flags |= REGULATORY_DISABLE_BEACON_HINTS; #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)) @@ -723,7 +723,7 @@ int wlan_hdd_cfg80211_init(struct device *dev, | WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD | WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL | WIPHY_FLAG_OFFCHAN_TX; - wiphy->country_ie_pref = NL80211_COUNTRY_IE_IGNORE_CORE; + wiphy->regulatory_flags |= REGULATORY_COUNTRY_IE_IGNORE; #endif #if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR) @@ -913,7 +913,7 @@ void wlan_hdd_cfg80211_update_reg_info(struct wiphy *wiphy) struct ieee80211_supported_band *band = wiphy->bands[IEEE80211_BAND_5GHZ]; // Mark UNII -1 band channel as passive if (WLAN_HDD_CHANNEL_IN_UNII_1_BAND(band->channels[j].center_freq)) - band->channels[j].flags |= IEEE80211_CHAN_PASSIVE_SCAN; + band->channels[j].flags |= IEEE80211_CHAN_NO_IR; } } } @@ -1186,10 +1186,10 @@ int wlan_hdd_cfg80211_alloc_new_beacon(hdd_adapter_t *pAdapter, } -v_U8_t* wlan_hdd_cfg80211_get_ie_ptr(v_U8_t *pIes, int length, v_U8_t eid) +const v_U8_t* wlan_hdd_cfg80211_get_ie_ptr(const v_U8_t *pIes, int length, v_U8_t eid) { int left = length; - v_U8_t *ptr = pIes; + const v_U8_t *ptr = pIes; v_U8_t elem_id,elem_len; while(left >= 2) @@ -1229,7 +1229,7 @@ static int wlan_hdd_rate_is_11g(u8 rate) } /* Check for 11g rate and set proper 11g only mode */ -static void wlan_hdd_check_11gmode(u8 *pIe, u8* require_ht, +static void wlan_hdd_check_11gmode(const u8 *pIe, u8* require_ht, u8* pCheckRatesfor11g, eSapPhyMode* pSapHw_mode) { u8 i, num_rates = pIe[0]; @@ -1265,7 +1265,7 @@ static void wlan_hdd_set_sapHwmode(hdd_adapter_t *pHostapdAdapter) struct ieee80211_mgmt *pMgmt_frame = (struct ieee80211_mgmt*)pBeacon->head; u8 checkRatesfor11g = TRUE; u8 require_ht = FALSE; - u8 *pIe=NULL; + const u8 *pIe=NULL; pConfig->SapHw_mode= eSAP_DOT11_MODE_11b; @@ -1862,7 +1862,7 @@ static int wlan_hdd_cfg80211_start_bss(hdd_adapter_t *pHostapdAdapter, tsap_Config_t *pConfig; beacon_data_t *pBeacon = NULL; struct ieee80211_mgmt *pMgmt_frame; - v_U8_t *pIe=NULL; + const v_U8_t *pIe=NULL; v_U16_t capab_info; eCsrAuthType RSNAuthType; eCsrEncryptionType RSNEncryptType; @@ -2458,7 +2458,7 @@ static int wlan_hdd_cfg80211_stop_ap (struct wiphy *wiphy, { long ret; - INIT_COMPLETION(pScanInfo->abortscan_event_var); + reinit_completion(&pScanInfo->abortscan_event_var); hdd_abort_mac_scan(staAdapter->pHddCtx, eCSR_SCAN_ABORT_DEFAULT); @@ -3128,7 +3128,7 @@ static int __wlan_hdd_cfg80211_change_iface( struct wiphy *wiphy, ( eCSR_BSS_TYPE_START_IBSS == LastBSSType ) ) { /*need to issue a disconnect to CSR.*/ - INIT_COMPLETION(pAdapter->disconnect_comp_var); + reinit_completion(&pAdapter->disconnect_comp_var); if( eHAL_STATUS_SUCCESS == sme_RoamDisconnect( WLAN_HDD_GET_HAL_CTX(pAdapter), pAdapter->sessionId, @@ -3340,7 +3340,7 @@ static int wlan_hdd_tdls_add_station(struct wiphy *wiphy, return -EPERM; } - INIT_COMPLETION(pAdapter->tdls_add_station_comp); + reinit_completion(&pAdapter->tdls_add_station_comp); if (!update) { @@ -3382,7 +3382,7 @@ error: static int wlan_hdd_change_station(struct wiphy *wiphy, struct net_device *dev, - u8 *mac, + const u8 *mac, struct station_parameters *params) { VOS_STATUS status = VOS_STATUS_SUCCESS; @@ -3644,7 +3644,7 @@ static int wlan_hdd_cfg80211_add_key( struct wiphy *wiphy, { vos_mem_zero(&setKey,sizeof(tCsrRoamSetKey)); wlan_hdd_cfg80211_set_key_wapi(pAdapter, key_index, mac_addr, - params->key, params->key_len); + (u8 *)params->key, params->key_len); return 0; } #endif @@ -4281,7 +4281,10 @@ static struct cfg80211_bss* wlan_hdd_cfg80211_inform_bss( { rssi = (VOS_MIN ((pBssDesc->rssi + pBssDesc->sinr), 0))*100; - return (cfg80211_inform_bss(wiphy, chan, pBssDesc->bssId, + return (cfg80211_inform_bss(wiphy, chan, +/* enum cfg80211_bss_frame_type ftype, */ + CFG80211_BSS_FTYPE_UNKNOWN, + pBssDesc->bssId, le64_to_cpu(*(__le64 *)pBssDesc->timeStamp), pBssDesc->capabilityInfo, pBssDesc->beaconInterval, ie, ie_length, @@ -4618,14 +4621,14 @@ static int wlan_hdd_cfg80211_update_bss( struct wiphy *wiphy, } void -hddPrintMacAddr(tCsrBssid macAddr, tANI_U8 logLevel) +hddPrintMacAddr(const tCsrBssid macAddr, tANI_U8 logLevel) { VOS_TRACE(VOS_MODULE_ID_HDD, logLevel, MAC_ADDRESS_STR, MAC_ADDR_ARRAY(macAddr)); } /****** end hddPrintMacAddr() ******/ void -hddPrintPmkId(tANI_U8 *pmkId, tANI_U8 logLevel) +hddPrintPmkId(const tANI_U8 *pmkId, tANI_U8 logLevel) { VOS_TRACE(VOS_MODULE_ID_HDD, logLevel, "%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X", @@ -5248,7 +5251,7 @@ int wlan_hdd_cfg80211_scan( struct wiphy *wiphy, } } - INIT_COMPLETION(pScanInfo->scan_req_completion_event); + reinit_completion(&pScanInfo->scan_req_completion_event); /* acquire the wakelock to avoid the apps suspend during the scan. To * address the following issues. @@ -5729,12 +5732,12 @@ static int wlan_hdd_cfg80211_set_cipher( hdd_adapter_t *pAdapter, * This function is used to parse WPA/RSN IE's. */ int wlan_hdd_cfg80211_set_ie( hdd_adapter_t *pAdapter, - u8 *ie, + const u8 *ie, size_t ie_len ) { hdd_wext_state_t *pWextState = WLAN_HDD_GET_WEXT_STATE_PTR(pAdapter); - u8 *genie = ie; + const u8 *genie = ie; v_U16_t remLen = ie_len; #ifdef FEATURE_WLAN_WAPI v_U32_t akmsuite[MAX_NUM_AKM_SUITES]; @@ -5950,7 +5953,7 @@ int wlan_hdd_cfg80211_set_ie( hdd_adapter_t *pAdapter, * Parse the received IE to find the WPA IE * */ -static bool hdd_isWPAIEPresent(u8 *ie, u8 ie_len) +static bool hdd_isWPAIEPresent(const u8 *ie, u8 ie_len) { v_U8_t eLen = 0; v_U16_t remLen = ie_len; @@ -6076,7 +6079,7 @@ int wlan_hdd_cfg80211_set_privacy( hdd_adapter_t *pAdapter, /*parse WPA/RSN IE, and set the correspoing fileds in Roam profile*/ if (req->ie_len) { - status = wlan_hdd_cfg80211_set_ie(pAdapter, req->ie, req->ie_len); + status = wlan_hdd_cfg80211_set_ie(pAdapter, (u8 *)req->ie, req->ie_len); if ( 0 > status) { hddLog(VOS_TRACE_LEVEL_ERROR, "%s: failed to parse the WPA/RSN IE", @@ -6145,7 +6148,7 @@ static int wlan_hdd_try_disconnect( hdd_adapter_t *pAdapter ) (eConnectionState_IbssConnected == pHddStaCtx->conn_info.connState)) { /* Issue disconnect to CSR */ - INIT_COMPLETION(pAdapter->disconnect_comp_var); + reinit_completion(&pAdapter->disconnect_comp_var); if( eHAL_STATUS_SUCCESS == sme_RoamDisconnect( WLAN_HDD_GET_HAL_CTX(pAdapter), pAdapter->sessionId, @@ -6303,7 +6306,7 @@ int wlan_hdd_disconnect( hdd_adapter_t *pAdapter, u16 reason ) pHddCtx->isAmpAllowed = VOS_TRUE; pHddStaCtx->conn_info.connState = eConnectionState_Disconnecting; - INIT_COMPLETION(pAdapter->disconnect_comp_var); + reinit_completion(&pAdapter->disconnect_comp_var); /*issue disconnect*/ @@ -6493,7 +6496,7 @@ static int wlan_hdd_cfg80211_set_privacy_ibss( { tDot11fIEWPA dot11WPAIE; tHalHandle halHandle = WLAN_HDD_GET_HAL_CTX(pAdapter); - u8 *ie; + const u8 *ie; memset(&dot11WPAIE, 0, sizeof(dot11WPAIE)); ie = wlan_hdd_cfg80211_get_ie_ptr (params->ie, @@ -6729,7 +6732,7 @@ static int wlan_hdd_cfg80211_leave_ibss( struct wiphy *wiphy, } /* Issue Disconnect request */ - INIT_COMPLETION(pAdapter->disconnect_comp_var); + reinit_completion(&pAdapter->disconnect_comp_var); sme_RoamDisconnect( WLAN_HDD_GET_HAL_CTX(pAdapter), pAdapter->sessionId, eCSR_DISCONNECT_REASON_IBSS_LEAVE); @@ -6983,7 +6986,7 @@ static int wlan_hdd_cfg80211_get_txpower(struct wiphy *wiphy, } static int wlan_hdd_cfg80211_get_station(struct wiphy *wiphy, struct net_device *dev, - u8* mac, struct station_info *sinfo) + const u8* mac, struct station_info *sinfo) { hdd_adapter_t *pAdapter = WLAN_HDD_GET_PRIV_PTR( dev ); hdd_station_ctx_t *pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter); @@ -7484,7 +7487,7 @@ static int wlan_hdd_set_txq_params(struct wiphy *wiphy, #endif //LINUX_VERSION_CODE static int wlan_hdd_cfg80211_del_station(struct wiphy *wiphy, - struct net_device *dev, u8 *mac) + struct net_device *dev, struct station_del_parameters *params) { hdd_adapter_t *pAdapter = WLAN_HDD_GET_PRIV_PTR(dev); hdd_context_t *pHddCtx; @@ -7518,7 +7521,7 @@ static int wlan_hdd_cfg80211_del_station(struct wiphy *wiphy, || (WLAN_HDD_P2P_GO == pAdapter->device_mode) ) { - if( NULL == mac ) + if( NULL == params->mac ) { v_U16_t i; for(i = 0; i < WLAN_MAX_STA_COUNT; i++) @@ -7540,13 +7543,13 @@ static int wlan_hdd_cfg80211_del_station(struct wiphy *wiphy, else { - vos_status = hdd_softap_GetStaId(pAdapter,(v_MACADDR_t *)mac, &staId); + vos_status = hdd_softap_GetStaId(pAdapter,(v_MACADDR_t *)params->mac, &staId); if (!VOS_IS_STATUS_SUCCESS(vos_status)) { hddLog(VOS_TRACE_LEVEL_INFO, "%s: Skip this DEL STA as this is not used::" MAC_ADDRESS_STR, - __func__, MAC_ADDR_ARRAY(mac)); + __func__, MAC_ADDR_ARRAY(params->mac)); return -ENOENT; } @@ -7555,7 +7558,7 @@ static int wlan_hdd_cfg80211_del_station(struct wiphy *wiphy, hddLog(VOS_TRACE_LEVEL_INFO, "%s: Skip this DEL STA as deauth is in progress::" MAC_ADDRESS_STR, - __func__, MAC_ADDR_ARRAY(mac)); + __func__, MAC_ADDR_ARRAY(params->mac)); return -ENOENT; } @@ -7565,9 +7568,9 @@ static int wlan_hdd_cfg80211_del_station(struct wiphy *wiphy, "%s: Delete STA with MAC::" MAC_ADDRESS_STR, __func__, - MAC_ADDR_ARRAY(mac)); + MAC_ADDR_ARRAY(params->mac)); - vos_status = hdd_softap_sta_deauth(pAdapter, mac); + vos_status = hdd_softap_sta_deauth(pAdapter, params->mac); if (!VOS_IS_STATUS_SUCCESS(vos_status)) { pAdapter->aStaInfo[staId].isDeauthInProgress = FALSE; @@ -7575,7 +7578,7 @@ static int wlan_hdd_cfg80211_del_station(struct wiphy *wiphy, "%s: STA removal failed for ::" MAC_ADDRESS_STR, __func__, - MAC_ADDR_ARRAY(mac)); + MAC_ADDR_ARRAY(params->mac)); return -ENOENT; } @@ -7588,9 +7591,11 @@ static int wlan_hdd_cfg80211_del_station(struct wiphy *wiphy, } static int wlan_hdd_cfg80211_add_station(struct wiphy *wiphy, - struct net_device *dev, u8 *mac, struct station_parameters *params) + struct net_device *dev, const u8 *mac, struct station_parameters *params) { +#ifdef FEATURE_WLAN_TDLS hdd_adapter_t *pAdapter = WLAN_HDD_GET_PRIV_PTR(dev); +#endif int status = -EPERM; #ifdef FEATURE_WLAN_TDLS u32 mask, set; @@ -8224,7 +8229,7 @@ static int wlan_hdd_cfg80211_sched_scan_start(struct wiphy *wiphy, pPnoRequest->modePNO = SIR_PNO_MODE_IMMEDIATE; - INIT_COMPLETION(pAdapter->pno_comp_var); + reinit_completion(&pAdapter->pno_comp_var); pPnoRequest->statusCallback = hdd_cfg80211_sched_scan_start_status_cb; pPnoRequest->callbackContext = pAdapter; pAdapter->pno_req_status = 0; @@ -8547,7 +8552,7 @@ static int wlan_hdd_cfg80211_tdls_mgmt(struct wiphy *wiphy, struct net_device *d } pAdapter->mgmtTxCompletionStatus = TDLS_CTX_MAGIC; - INIT_COMPLETION(pAdapter->tdls_mgmt_comp); + reinit_completion(&pAdapter->tdls_mgmt_comp); status = sme_SendTdlsMgmtFrame(WLAN_HDD_GET_HAL_CTX(pAdapter), pAdapter->sessionId, peerMac, action_code, dialog_token, status_code, peer_capability, (tANI_U8 *)buf, len, responder); @@ -8674,7 +8679,7 @@ static int wlan_hdd_cfg80211_tdls_oper(struct wiphy *wiphy, struct net_device *d pAdapter, peer,&tdlsLinkEstablishParams)) { return -EINVAL; } - INIT_COMPLETION(pAdapter->tdls_link_establish_req_comp); + reinit_completion(&pAdapter->tdls_link_establish_req_comp); sme_SendTdlsLinkEstablishParams(WLAN_HDD_GET_HAL_CTX(pAdapter), pAdapter->sessionId, peer, &tdlsLinkEstablishParams); @@ -8758,7 +8763,7 @@ static int wlan_hdd_cfg80211_tdls_oper(struct wiphy *wiphy, struct net_device *d { long status; - INIT_COMPLETION(pAdapter->tdls_del_station_comp); + reinit_completion(&pAdapter->tdls_del_station_comp); sme_DeleteTdlsPeerSta( WLAN_HDD_GET_HAL_CTX(pAdapter), pAdapter->sessionId, peer ); @@ -9170,6 +9175,7 @@ static int wlan_hdd_cfg80211_set_mac_acl(struct wiphy *wiphy, return 0; } +#ifdef CONFIG_NL80211_TESTMODE #ifdef WLAN_NL80211_TESTMODE #ifdef FEATURE_WLAN_LPHB void wlan_hdd_cfg80211_lphb_ind_handler @@ -9314,7 +9320,7 @@ static int wlan_hdd_cfg80211_testmode(struct wiphy *wiphy, void *data, int len) return err; } #endif /* CONFIG_NL80211_TESTMODE */ - +#endif static int wlan_hdd_cfg80211_dump_survey(struct wiphy *wiphy, struct net_device *dev, int idx, struct survey_info *survey) @@ -9597,9 +9603,11 @@ static struct cfg80211_ops wlan_hdd_cfg80211_ops = .resume = wlan_hdd_cfg80211_resume_wlan, .suspend = wlan_hdd_cfg80211_suspend_wlan, .set_mac_acl = wlan_hdd_cfg80211_set_mac_acl, +#ifdef CONFIG_NL80211_TESTMODE #ifdef WLAN_NL80211_TESTMODE .testmode_cmd = wlan_hdd_cfg80211_testmode, #endif +#endif .dump_survey = wlan_hdd_cfg80211_dump_survey, }; diff --git a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_dev_pwr.c b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_dev_pwr.c index f8854487f660..8f68624716fd 100644 --- a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_dev_pwr.c +++ b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_dev_pwr.c @@ -143,7 +143,7 @@ static int wlan_suspend(hdd_context_t* pHddCtx) */ VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO, "%s: Suspending Mc, Rx and Tx Threads",__func__); - INIT_COMPLETION(pHddCtx->tx_sus_event_var); + reinit_completion(&pHddCtx->tx_sus_event_var); /* Indicate Tx Thread to Suspend */ set_bit(TX_SUSPEND_EVENT_MASK, &vosSchedContext->txEventFlag); @@ -165,7 +165,7 @@ static int wlan_suspend(hdd_context_t* pHddCtx) /* Set the Tx Thread as Suspended */ pHddCtx->isTxThreadSuspended = TRUE; - INIT_COMPLETION(pHddCtx->rx_sus_event_var); + reinit_completion(&pHddCtx->rx_sus_event_var); /* Indicate Rx Thread to Suspend */ set_bit(RX_SUSPEND_EVENT_MASK, &vosSchedContext->rxEventFlag); @@ -194,7 +194,7 @@ static int wlan_suspend(hdd_context_t* pHddCtx) /* Set the Rx Thread as Suspended */ pHddCtx->isRxThreadSuspended = TRUE; - INIT_COMPLETION(pHddCtx->mc_sus_event_var); + reinit_completion(&pHddCtx->mc_sus_event_var); /* Indicate MC Thread to Suspend */ set_bit(MC_SUSPEND_EVENT_MASK, &vosSchedContext->mcEventFlag); diff --git a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_early_suspend.c b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_early_suspend.c index 350eba01aa4a..ed83178ab671 100644 --- a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_early_suspend.c +++ b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_early_suspend.c @@ -60,7 +60,6 @@ #include <linux/wait.h> #include <wlan_hdd_includes.h> #include <wlan_qct_driver.h> -#include <linux/wakelock.h> #include "halTypes.h" #include "sme_Api.h" @@ -171,7 +170,7 @@ eHalStatus hdd_exit_standby(hdd_context_t *pHddCtx) long ret; hddLog(VOS_TRACE_LEVEL_INFO, "%s: WLAN being resumed from standby",__func__); - INIT_COMPLETION(pHddCtx->full_pwr_comp_var); + reinit_completion(&pHddCtx->full_pwr_comp_var); g_full_pwr_status = eHAL_STATUS_FAILURE; status = sme_RequestFullPower(pHddCtx->hHal, hdd_suspend_full_pwr_callback, pHddCtx, @@ -233,7 +232,7 @@ VOS_STATUS hdd_enter_standby(hdd_context_t *pHddCtx) //here especially in scenarios where PMC is already in IMPS or REQUEST_IMPS. //Core s/w needs to be optimized to handle this. Until then we request full //power before issuing request for standby. - INIT_COMPLETION(pHddCtx->full_pwr_comp_var); + reinit_completion(&pHddCtx->full_pwr_comp_var); g_full_pwr_status = eHAL_STATUS_FAILURE; halStatus = sme_RequestFullPower(pHddCtx->hHal, hdd_suspend_full_pwr_callback, pHddCtx, eSME_FULL_PWR_NEEDED_BY_HDD); @@ -277,7 +276,7 @@ VOS_STATUS hdd_enter_standby(hdd_context_t *pHddCtx) //queues here. Also do not assert if the failure code is eHAL_STATUS_PMC_NOT_NOW as PMC //will send this failure code in case of concurrent sessions. Power Save cannot be supported //when there are concurrent sessions. - INIT_COMPLETION(pHddCtx->standby_comp_var); + reinit_completion(&pHddCtx->standby_comp_var); g_standby_status = eHAL_STATUS_FAILURE; halStatus = sme_RequestStandby(pHddCtx->hHal, hdd_suspend_standby_cbk, pHddCtx); @@ -340,7 +339,7 @@ VOS_STATUS hdd_enter_deep_sleep(hdd_context_t *pHddCtx, hdd_adapter_t *pAdapter) sme_DisablePowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE); //Ensure that device is in full power as we will touch H/W during vos_Stop - INIT_COMPLETION(pHddCtx->full_pwr_comp_var); + reinit_completion(&pHddCtx->full_pwr_comp_var); g_full_pwr_status = eHAL_STATUS_FAILURE; halStatus = sme_RequestFullPower(pHddCtx->hHal, hdd_suspend_full_pwr_callback, pHddCtx, eSME_FULL_PWR_NEEDED_BY_HDD); @@ -369,7 +368,7 @@ VOS_STATUS hdd_enter_deep_sleep(hdd_context_t *pHddCtx, hdd_adapter_t *pAdapter) //Issue a disconnect. This is required to inform the supplicant that //STA is getting disassociated and for GUI to be updated properly - INIT_COMPLETION(pAdapter->disconnect_comp_var); + reinit_completion(&pAdapter->disconnect_comp_var); halStatus = sme_RoamDisconnect(pHddCtx->hHal, pAdapter->sessionId, eCSR_DISCONNECT_REASON_UNSPECIFIED); //Success implies disconnect command got queued up successfully diff --git a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_hostapd.c b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_hostapd.c index 58786c154822..16659846e218 100644 --- a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_hostapd.c +++ b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_hostapd.c @@ -742,13 +742,6 @@ VOS_STATUS hdd_hostapd_SAPEventCB( tpSap_Event pSapEvent, v_PVOID_t usrDataForCa if (!VOS_IS_STATUS_SUCCESS(vos_status)) hddLog(LOGE, FL("Failed to start AP inactivity timer")); } -#ifdef WLAN_OPEN_SOURCE - if (wake_lock_active(&pHddCtx->sap_wake_lock)) - { - wake_unlock(&pHddCtx->sap_wake_lock); - } - wake_lock_timeout(&pHddCtx->sap_wake_lock, msecs_to_jiffies(HDD_SAP_WAKE_LOCK_DURATION)); -#endif #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)) { struct station_info staInfo; @@ -3676,7 +3669,7 @@ hdd_adapter_t* hdd_wlan_create_ap_dev( hdd_context_t *pHddCtx, tSirMacAddr macAd hdd_adapter_t *pHostapdAdapter = NULL; v_CONTEXT_t pVosContext= NULL; - pWlanHostapdDev = alloc_netdev_mq(sizeof(hdd_adapter_t), iface_name, ether_setup, NUM_TX_QUEUES); + pWlanHostapdDev = alloc_netdev_mq(sizeof(hdd_adapter_t), iface_name, NET_NAME_UNKNOWN, ether_setup, NUM_TX_QUEUES); if (pWlanHostapdDev != NULL) { diff --git a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_main.c b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_main.c index f163a19ecf03..ff940d97a517 100644 --- a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_main.c +++ b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_main.c @@ -115,7 +115,7 @@ int wlan_hdd_ftm_start(hdd_context_t *pAdapter); #include "sapApi.h" #include <linux/semaphore.h> #include <linux/ctype.h> -#include <mach/subsystem_restart.h> +#include <soc/qcom/subsystem_restart.h> #include <wlan_hdd_hostapd.h> #include <wlan_hdd_softap_tx_rx.h> #include "cfgApi.h" @@ -203,9 +203,6 @@ static VOS_STATUS hdd_parse_ccx_beacon_req(tANI_U8 *pValue, #define WLAN_HDD_DRIVER_MIRACAST_CFG_MIN_VAL 0 #define WLAN_HDD_DRIVER_MIRACAST_CFG_MAX_VAL 2 -#ifdef WLAN_OPEN_SOURCE -static struct wake_lock wlan_wake_lock; -#endif /* set when SSR is needed after unload */ static e_hdd_ssr_required isSsrRequired = HDD_SSR_NOT_REQUIRED; @@ -217,7 +214,7 @@ void wlan_hdd_restart_timer_cb(v_PVOID_t usrDataForCallback); void hdd_set_wlan_suspend_mode(bool suspend); v_U16_t hdd_select_queue(struct net_device *dev, - struct sk_buff *skb); + struct sk_buff *skb, void *accel_priv, select_queue_fallback_t fallback); #ifdef WLAN_FEATURE_PACKET_FILTERING static void hdd_set_multicast_list(struct net_device *dev); @@ -304,7 +301,7 @@ static int hdd_netdev_notifier_call(struct notifier_block * nb, if( pHddCtx->scan_info.mScanPending != FALSE ) { long result; - INIT_COMPLETION(pHddCtx->scan_info.abortscan_event_var); + reinit_completion(&pHddCtx->scan_info.abortscan_event_var); hdd_abort_mac_scan(pAdapter->pHddCtx, eCSR_SCAN_ABORT_DEFAULT); result = wait_for_completion_interruptible_timeout( &pHddCtx->scan_info.abortscan_event_var, @@ -552,7 +549,7 @@ void hdd_checkandupdate_phymode( hdd_context_t *pHddCtx) VOS_STATUS vosStatus; // need to issue a disconnect to CSR. - INIT_COMPLETION(pAdapter->disconnect_comp_var); + reinit_completion(&pAdapter->disconnect_comp_var); vosStatus = sme_RoamDisconnect(WLAN_HDD_GET_HAL_CTX(pAdapter), pAdapter->sessionId, eCSR_DISCONNECT_REASON_UNSPECIFIED ); @@ -623,7 +620,7 @@ void hdd_checkandupdate_phymode( hdd_adapter_t *pAdapter, char *country_code) VOS_STATUS vosStatus; // need to issue a disconnect to CSR. - INIT_COMPLETION(pAdapter->disconnect_comp_var); + reinit_completion(&pAdapter->disconnect_comp_var); vosStatus = sme_RoamDisconnect(WLAN_HDD_GET_HAL_CTX(pAdapter), pAdapter->sessionId, eCSR_DISCONNECT_REASON_UNSPECIFIED ); @@ -1575,7 +1572,7 @@ int hdd_return_batch_scan_rsp_to_user { if (TRUE == pAdapter->hdd_wait_for_get_batch_scan_rsp) { - INIT_COMPLETION(pAdapter->hdd_get_batch_scan_req_var); + reinit_completion(&pAdapter->hdd_get_batch_scan_req_var); rc = wait_for_completion_timeout( &pAdapter->hdd_get_batch_scan_req_var, msecs_to_jiffies(HDD_GET_BATCH_SCAN_RSP_TIME_OUT)); @@ -1764,7 +1761,7 @@ int hdd_handle_batch_scan_ioctl halStatus); if (TRUE == pAdapter->hdd_wait_for_set_batch_scan_rsp) { - INIT_COMPLETION(pAdapter->hdd_set_batch_scan_req_var); + reinit_completion(&pAdapter->hdd_set_batch_scan_req_var); rc = wait_for_completion_timeout( &pAdapter->hdd_set_batch_scan_req_var, msecs_to_jiffies(HDD_SET_BATCH_SCAN_REQ_TIME_OUT)); @@ -2021,7 +2018,7 @@ int hdd_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) country_code = command + 8; - INIT_COMPLETION(pAdapter->change_country_code); + reinit_completion(&pAdapter->change_country_code); hdd_checkandupdate_dfssetting(pAdapter, country_code); #ifndef CONFIG_ENABLE_LINUX_REG hdd_checkandupdate_phymode(pAdapter, country_code); @@ -2657,6 +2654,9 @@ int hdd_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) tANI_U8 temp = 0; u64 cookie; hdd_station_ctx_t *pHddStaCtx = NULL; + struct cfg80211_mgmt_tx_params sp; + + pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter); /* if not associated, no need to send action frame */ @@ -2739,18 +2739,19 @@ int hdd_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) vos_mem_free(buf); buf = NULL; - wlan_hdd_mgmt_tx( NULL, -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)) - &(pAdapter->wdev), -#else - dev, -#endif - &chan, 0, -#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)) - NL80211_CHAN_HT20, 1, -#endif - dwellTime, finalBuf, finalLen, 1, - 1, &cookie ); + + memset(&sp, 0 , sizeof(sp)); + + sp.chan = &chan; + sp.offchan = 0; + sp.wait = dwellTime; + sp.buf = finalBuf; + sp.len = finalLen; + sp.no_cck = true; + sp.dont_wait_for_ack = true; + + wlan_hdd_mgmt_tx(NULL, &(pAdapter->wdev), + &sp, &cookie ); vos_mem_free(finalBuf); } else if (strncmp(command, "GETROAMSCANCHANNELMINTIME", 25) == 0) @@ -5266,8 +5267,10 @@ static hdd_adapter_t* hdd_alloc_station_adapter( hdd_context_t *pHddCtx, tSirMac hdd_adapter_t *pAdapter = NULL; /* * cfg80211 initialization and registration.... - */ - pWlanDev = alloc_netdev_mq(sizeof( hdd_adapter_t ), name, ether_setup, NUM_TX_QUEUES); + */ + + pWlanDev = alloc_netdev_mq(sizeof( hdd_adapter_t ), name, NET_NAME_UNKNOWN, + ether_setup, NUM_TX_QUEUES); if(pWlanDev != NULL) { @@ -5427,7 +5430,7 @@ VOS_STATUS hdd_init_station_mode( hdd_adapter_t *pAdapter ) VOS_STATUS status = VOS_STATUS_E_FAILURE; long rc = 0; - INIT_COMPLETION(pAdapter->session_open_comp_var); + reinit_completion(&pAdapter->session_open_comp_var); sme_SetCurrDeviceMode(pHddCtx->hHal, pAdapter->device_mode); //Open a SME session for future operation halStatus = sme_OpenSession( pHddCtx->hHal, hdd_smeRoamCallback, pAdapter, @@ -5523,7 +5526,7 @@ error_init_txrx: error_register_wext: if (test_bit(SME_SESSION_OPENED, &pAdapter->event_flags)) { - INIT_COMPLETION(pAdapter->session_close_comp_var); + reinit_completion(&pAdapter->session_close_comp_var); if (eHAL_STATUS_SUCCESS == sme_CloseSession(pHddCtx->hHal, pAdapter->sessionId, hdd_smeCloseSessionCallback, pAdapter)) @@ -5552,7 +5555,7 @@ void hdd_cleanup_actionframe( hdd_context_t *pHddCtx, hdd_adapter_t *pAdapter ) if( NULL != cfgState->buf ) { long rc; - INIT_COMPLETION(pAdapter->tx_action_cnf_event); + reinit_completion(&pAdapter->tx_action_cnf_event); rc = wait_for_completion_interruptible_timeout( &pAdapter->tx_action_cnf_event, msecs_to_jiffies(ACTION_FRAME_TX_TIMEOUT)); @@ -5876,7 +5879,7 @@ VOS_STATUS hdd_disable_bmps_imps(hdd_context_t *pHddCtx, tANI_U8 session_type) (TRUE == disableImps)) { /* Now, get the chip into Full Power now */ - INIT_COMPLETION(pHddCtx->full_pwr_comp_var); + reinit_completion(&pHddCtx->full_pwr_comp_var); halStatus = sme_RequestFullPower(pHddCtx->hHal, hdd_full_pwr_cbk, pHddCtx, eSME_FULL_PWR_NEEDED_BY_HDD); @@ -6387,7 +6390,7 @@ VOS_STATUS hdd_stop_adapter( hdd_context_t *pHddCtx, hdd_adapter_t *pAdapter ) #endif if (test_bit(SME_SESSION_OPENED, &pAdapter->event_flags)) { - INIT_COMPLETION(pAdapter->session_close_comp_var); + reinit_completion(&pAdapter->session_close_comp_var); if (eHAL_STATUS_SUCCESS == sme_CloseSession(pHddCtx->hHal, pAdapter->sessionId, hdd_smeCloseSessionCallback, pAdapter)) @@ -6669,7 +6672,7 @@ VOS_STATUS hdd_start_all_adapters( hdd_context_t *pHddCtx ) case WLAN_HDD_P2P_GO: hddLog(VOS_TRACE_LEVEL_ERROR, "%s [SSR] send stop ap to supplicant", __func__); - cfg80211_ap_stopped(pAdapter->dev, GFP_KERNEL); +// cfg80211_ap_stopped(pAdapter->dev, GFP_KERNEL); break; case WLAN_HDD_MONITOR: @@ -7148,9 +7151,9 @@ static void hdd_set_multicast_list(struct net_device *dev) --------------------------------------------------------------------------*/ v_U16_t hdd_select_queue(struct net_device *dev, - struct sk_buff *skb) + struct sk_buff *skb, void *accel_priv, select_queue_fallback_t fallback) { - return hdd_wmm_select_queue(dev, skb); + return hdd_wmm_select_queue(dev, skb, NULL, NULL); } @@ -7504,14 +7507,6 @@ void hdd_wlan_exit(hdd_context_t *pHddCtx) "%s: Failed to close VOSS Scheduler",__func__); VOS_ASSERT( VOS_IS_STATUS_SUCCESS( vosStatus ) ); } -#ifdef WLAN_OPEN_SOURCE -#ifdef WLAN_FEATURE_HOLD_RX_WAKELOCK - /* Destroy the wake lock */ - wake_lock_destroy(&pHddCtx->rx_wake_lock); -#endif - /* Destroy the wake lock */ - wake_lock_destroy(&pHddCtx->sap_wake_lock); -#endif #ifdef CONFIG_ENABLE_LINUX_REG vosStatus = vos_nv_close(); @@ -7706,29 +7701,16 @@ VOS_STATUS hdd_post_voss_start_config(hdd_context_t* pHddCtx) /* wake lock APIs for HDD */ void hdd_prevent_suspend(void) { -#ifdef WLAN_OPEN_SOURCE - wake_lock(&wlan_wake_lock); -#else wcnss_prevent_suspend(); -#endif } void hdd_allow_suspend(void) { -#ifdef WLAN_OPEN_SOURCE - wake_unlock(&wlan_wake_lock); -#else wcnss_allow_suspend(); -#endif } void hdd_prevent_suspend_timeout(v_U32_t timeout) { -#ifdef WLAN_OPEN_SOURCE - wake_lock_timeout(&wlan_wake_lock, msecs_to_jiffies(timeout)); -#else - /* Do nothing as there is no API in wcnss for timeout*/ -#endif } /**--------------------------------------------------------------------------- @@ -8510,7 +8492,7 @@ int hdd_wlan_startup(struct device *dev ) if (country_code) { eHalStatus ret; - INIT_COMPLETION(pAdapter->change_country_code); + reinit_completion(&pAdapter->change_country_code); hdd_checkandupdate_dfssetting(pAdapter, country_code); #ifndef CONFIG_ENABLE_LINUX_REG hdd_checkandupdate_phymode(pAdapter, country_code); @@ -8681,19 +8663,6 @@ int hdd_wlan_startup(struct device *dev ) pHddCtx->isLoadUnloadInProgress = WLAN_HDD_NO_LOAD_UNLOAD_IN_PROGRESS; -#ifdef WLAN_OPEN_SOURCE -#ifdef WLAN_FEATURE_HOLD_RX_WAKELOCK - /* Initialize the wake lcok */ - wake_lock_init(&pHddCtx->rx_wake_lock, - WAKE_LOCK_SUSPEND, - "qcom_rx_wakelock"); -#endif - /* Initialize the wake lcok */ - wake_lock_init(&pHddCtx->sap_wake_lock, - WAKE_LOCK_SUSPEND, - "qcom_sap_wakelock"); -#endif - vos_event_init(&pHddCtx->scan_info.scan_finished_event); pHddCtx->scan_info.scan_pending_option = WEXT_SCAN_PENDING_GIVEUP; @@ -8838,10 +8807,6 @@ static int hdd_driver_init( void) ENTER(); -#ifdef WLAN_OPEN_SOURCE - wake_lock_init(&wlan_wake_lock, WAKE_LOCK_SUSPEND, "wlan"); -#endif - hddTraceInit(); pr_info("%s: loading driver v%s\n", WLAN_MODULE_NAME, QWLAN_VERSIONSTR TIMER_MANAGER_STR MEMORY_DEBUG_STR); @@ -8852,9 +8817,6 @@ static int hdd_driver_init( void) { hddLog(VOS_TRACE_LEVEL_FATAL, "%s: Libra WLAN not Powered Up. " "exiting", __func__); -#ifdef WLAN_OPEN_SOURCE - wake_lock_destroy(&wlan_wake_lock); -#endif return -EIO; } @@ -8873,9 +8835,6 @@ static int hdd_driver_init( void) } if (max_retries >= 5) { hddLog(VOS_TRACE_LEVEL_FATAL,"%s: WCNSS driver not ready", __func__); -#ifdef WLAN_OPEN_SOURCE - wake_lock_destroy(&wlan_wake_lock); -#endif return -ENODEV; } #endif @@ -8950,9 +8909,6 @@ static int hdd_driver_init( void) vos_mem_exit(); #endif -#ifdef WLAN_OPEN_SOURCE - wake_lock_destroy(&wlan_wake_lock); -#endif pr_err("%s: driver load failure\n", WLAN_MODULE_NAME); } else @@ -9031,7 +8987,7 @@ static void hdd_driver_exit(void) } else { - INIT_COMPLETION(pHddCtx->ssr_comp_var); + reinit_completion(&pHddCtx->ssr_comp_var); if (pHddCtx->isLogpInProgress) { @@ -9068,9 +9024,6 @@ static void hdd_driver_exit(void) #endif done: -#ifdef WLAN_OPEN_SOURCE - wake_lock_destroy(&wlan_wake_lock); -#endif pr_info("%s: driver unloaded\n", WLAN_MODULE_NAME); } @@ -9219,7 +9172,7 @@ void hdd_set_conparam ( v_UINT_t newParam ) --------------------------------------------------------------------------*/ -VOS_STATUS hdd_softap_sta_deauth(hdd_adapter_t *pAdapter, v_U8_t *pDestMacAddress) +VOS_STATUS hdd_softap_sta_deauth(hdd_adapter_t *pAdapter, const v_U8_t *pDestMacAddress) { v_CONTEXT_t pVosContext = (WLAN_HDD_GET_CTX(pAdapter))->pvosContext; VOS_STATUS vosStatus = VOS_STATUS_E_FAULT; @@ -9253,7 +9206,7 @@ VOS_STATUS hdd_softap_sta_deauth(hdd_adapter_t *pAdapter, v_U8_t *pDestMacAddres --------------------------------------------------------------------------*/ -void hdd_softap_sta_disassoc(hdd_adapter_t *pAdapter,v_U8_t *pDestMacAddress) +void hdd_softap_sta_disassoc(hdd_adapter_t *pAdapter, const v_U8_t *pDestMacAddress) { v_CONTEXT_t pVosContext = (WLAN_HDD_GET_CTX(pAdapter))->pvosContext; @@ -9522,8 +9475,7 @@ static VOS_STATUS wlan_hdd_framework_restart(hdd_context_t *pHddCtx) * the driver. * */ - - cfg80211_send_unprot_deauth(pAdapterNode->pAdapter->dev, (u_int8_t*)mgmt, len ); + cfg80211_rx_unprot_mlme_mgmt(pAdapterNode->pAdapter->dev, (u_int8_t*)mgmt, len ); } status = hdd_get_next_adapter ( pHddCtx, pAdapterNode, &pNext ); pAdapterNode = pNext; diff --git a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_p2p.c b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_p2p.c index c9a77d2bc58e..3a2c1a851a1d 100644 --- a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_p2p.c +++ b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_p2p.c @@ -309,7 +309,7 @@ void wlan_hdd_cancel_existing_remain_on_channel(hdd_adapter_t *pAdapter) __func__, status); } - INIT_COMPLETION(pAdapter->cancel_rem_on_chan_var); + reinit_completion(&pAdapter->cancel_rem_on_chan_var); /* Issue abort remain on chan request to sme. * The remain on channel callback will make sure the remain_on_chan @@ -394,7 +394,7 @@ void wlan_hdd_remain_on_chan_timeout(void *data) } pRemainChanCtx->hdd_remain_on_chan_cancel_in_progress = TRUE; - INIT_COMPLETION(pAdapter->cancel_rem_on_chan_var); + reinit_completion(&pAdapter->cancel_rem_on_chan_var); hddLog( LOG1,"%s: Cancel Remain on Channel on timeout", __func__); if ( ( WLAN_HDD_INFRA_STATION == pAdapter->device_mode ) || ( WLAN_HDD_P2P_CLIENT == pAdapter->device_mode ) || @@ -521,7 +521,7 @@ static int wlan_hdd_request_remain_on_channel( struct wiphy *wiphy, duration = 3 * duration; hdd_prevent_suspend(); - INIT_COMPLETION(pAdapter->rem_on_chan_ready_event); + reinit_completion(&pAdapter->rem_on_chan_ready_event); //call sme API to start remain on channel. if ( ( WLAN_HDD_INFRA_STATION == pAdapter->device_mode ) || @@ -781,7 +781,7 @@ int wlan_hdd_cfg80211_cancel_remain_on_channel( struct wiphy *wiphy, return -EAGAIN; } } - INIT_COMPLETION(pAdapter->cancel_rem_on_chan_var); + reinit_completion(&pAdapter->cancel_rem_on_chan_var); /* Issue abort remain on chan request to sme. * The remain on channel callback will make sure the remain_on_chan * expired event is sent. @@ -819,56 +819,25 @@ int wlan_hdd_cfg80211_cancel_remain_on_channel( struct wiphy *wiphy, return 0; } -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)) -int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct wireless_dev *wdev, - struct ieee80211_channel *chan, bool offchan, -#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)) - enum nl80211_channel_type channel_type, - bool channel_type_valid, -#endif - unsigned int wait, - const u8 *buf, size_t len, bool no_cck, - bool dont_wait_for_ack, u64 *cookie ) -#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)) -int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, - struct ieee80211_channel *chan, bool offchan, - enum nl80211_channel_type channel_type, - bool channel_type_valid, unsigned int wait, - const u8 *buf, size_t len, bool no_cck, - bool dont_wait_for_ack, u64 *cookie ) -#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)) -int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, - struct ieee80211_channel *chan, bool offchan, - enum nl80211_channel_type channel_type, - bool channel_type_valid, unsigned int wait, - const u8 *buf, size_t len, u64 *cookie ) -#else -int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, - struct ieee80211_channel *chan, - enum nl80211_channel_type channel_type, - bool channel_type_valid, - const u8 *buf, size_t len, u64 *cookie ) -#endif //LINUX_VERSION_CODE +int wlan_hdd_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev, + struct cfg80211_mgmt_tx_params *params, + u64 *cookie) { -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)) struct net_device *dev = wdev->netdev; -#endif hdd_adapter_t *pAdapter = WLAN_HDD_GET_PRIV_PTR( dev ); hdd_cfg80211_state_t *cfgState = WLAN_HDD_GET_CFG_STATE_PTR( pAdapter ); hdd_remain_on_chan_ctx_t *pRemainChanCtx = cfgState->remain_on_chan_ctx; hdd_context_t *pHddCtx = WLAN_HDD_GET_CTX( pAdapter ); - tANI_U8 type = WLAN_HDD_GET_TYPE_FRM_FC(buf[0]); - tANI_U8 subType = WLAN_HDD_GET_SUBTYPE_FRM_FC(buf[0]); + tANI_U8 type = WLAN_HDD_GET_TYPE_FRM_FC(params->buf[0]); + tANI_U8 subType = WLAN_HDD_GET_SUBTYPE_FRM_FC(params->buf[0]); tActionFrmType actionFrmType; bool noack = 0; int status; #ifdef WLAN_FEATURE_11W - tANI_U8 *pTxFrmBuf = (tANI_U8 *) buf; // For SA Query, we have to set protect bit + tANI_U8 *pTxFrmBuf = (tANI_U8 *) params->buf; // For SA Query, we have to set protect bit #endif -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)) hdd_adapter_t *goAdapter; -#endif MTRACE(vos_trace(VOS_MODULE_ID_HDD, TRACE_CODE_HDD_ACTION, pAdapter->sessionId, @@ -889,9 +858,9 @@ int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, #ifdef WLAN_FEATURE_P2P_DEBUG if ((type == SIR_MAC_MGMT_FRAME) && (subType == SIR_MAC_MGMT_ACTION) && - (buf[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET] == WLAN_HDD_PUBLIC_ACTION_FRAME)) + (params->buf[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET] == WLAN_HDD_PUBLIC_ACTION_FRAME)) { - actionFrmType = buf[WLAN_HDD_PUBLIC_ACTION_FRAME_TYPE_OFFSET]; + actionFrmType = params->buf[WLAN_HDD_PUBLIC_ACTION_FRAME_TYPE_OFFSET]; if(actionFrmType >= MAX_P2P_ACTION_FRAME_TYPE) { hddLog(VOS_TRACE_LEVEL_ERROR,"[P2P] unknown[%d] ---> OTA", @@ -919,14 +888,11 @@ int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, } #endif -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)) - noack = dont_wait_for_ack; -#endif - + noack = params->dont_wait_for_ack; //If the wait is coming as 0 with off channel set //then set the wait to 200 ms - if (offchan && !wait) - wait = ACTION_FRAME_DEFAULT_WAIT; + if (params->offchan && !params->wait) + params->wait = ACTION_FRAME_DEFAULT_WAIT; //Call sme API to send out a action frame. // OR can we send it directly through data path?? @@ -955,7 +921,7 @@ int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, * supplicant. */ tANI_U8 dstMac[ETH_ALEN] = {0}; - memcpy(&dstMac, &buf[WLAN_HDD_80211_FRM_DA_OFFSET], ETH_ALEN); + memcpy(&dstMac, ¶ms->buf[WLAN_HDD_80211_FRM_DA_OFFSET], ETH_ALEN); hddLog(VOS_TRACE_LEVEL_INFO, "%s: Deauth/Disassoc received for STA:" MAC_ADDRESS_STR, @@ -985,7 +951,7 @@ int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, if( subType == SIR_MAC_MGMT_ACTION) { hddLog( LOG1, "Action frame tx request : %s", - hdd_getActionString(buf[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET])); + hdd_getActionString(params->buf[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET])); } #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)) @@ -993,7 +959,7 @@ int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, //If GO adapter exists and operating on same frequency //then we will not request remain on channel - if( goAdapter && ( ieee80211_frequency_to_channel(chan->center_freq) + if( goAdapter && ( ieee80211_frequency_to_channel(params->chan->center_freq) == goAdapter->sessionCtx.ap.operatingChannel ) ) { goto send_frame; @@ -1001,7 +967,7 @@ int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, #endif #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)) - if( offchan && wait) + if(params->offchan && params->wait) { int status; rem_on_channel_request_type_t req_type = OFF_CHANNEL_ACTION_TX; @@ -1009,7 +975,7 @@ int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, // on the same channel then send the frame directly if( (cfgState->remain_on_chan_ctx != NULL) && - (cfgState->current_freq == chan->center_freq) + (cfgState->current_freq == params->chan->center_freq) ) { if ( VOS_TIMER_STATE_RUNNING == vos_timer_getCurrentState( @@ -1019,7 +985,7 @@ int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, &cfgState->remain_on_chan_ctx->hdd_remain_on_chan_timer); status = vos_timer_start( &cfgState->remain_on_chan_ctx->hdd_remain_on_chan_timer, - wait); + params->wait); if ( status != VOS_STATUS_SUCCESS ) { hddLog( LOGE, "Remain on Channel timer start failed"); @@ -1027,7 +993,7 @@ int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, hddLog(VOS_TRACE_LEVEL_INFO, "action frame: extending the wait time %u", - wait); + params->wait); goto send_frame; } else @@ -1051,21 +1017,18 @@ int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, } } hddLog(VOS_TRACE_LEVEL_INFO, - "action frame: Request ROC for wait time %u", wait); + "action frame: Request ROC for wait time %u", params->wait); - INIT_COMPLETION(pAdapter->offchannel_tx_event); + reinit_completion(&pAdapter->offchannel_tx_event); status = wlan_hdd_request_remain_on_channel(wiphy, dev, - chan, -#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)) - channel_type, -#endif - wait, cookie, + params->chan, + params->wait, cookie, req_type); if(0 != status) { if( (-EBUSY == status) && - (cfgState->current_freq == chan->center_freq) ) + (cfgState->current_freq == params->chan->center_freq) ) { goto send_frame; } @@ -1081,7 +1044,7 @@ int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, goto err_rem_channel; } } - else if ( offchan ) + else if (params->offchan ) { /* Check before sending action frame whether we already remain on channel */ @@ -1095,13 +1058,13 @@ int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, if(!noack) { - cfgState->buf = vos_mem_malloc( len ); //buf; + cfgState->buf = vos_mem_malloc( params->len ); //buf; if( cfgState->buf == NULL ) return -ENOMEM; - cfgState->len = len; + cfgState->len = params->len; - vos_mem_copy( cfgState->buf, buf, len); + vos_mem_copy( cfgState->buf, params->buf, params->len); #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)) if( cfgState->remain_on_chan_ctx ) @@ -1128,9 +1091,9 @@ int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, if ((type == SIR_MAC_MGMT_FRAME) && (subType == SIR_MAC_MGMT_ACTION) && - (buf[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET] == WLAN_HDD_PUBLIC_ACTION_FRAME)) + (params->buf[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET] == WLAN_HDD_PUBLIC_ACTION_FRAME)) { - actionFrmType = buf[WLAN_HDD_PUBLIC_ACTION_FRAME_TYPE_OFFSET]; + actionFrmType = params->buf[WLAN_HDD_PUBLIC_ACTION_FRAME_TYPE_OFFSET]; hddLog(LOG1, "Tx Action Frame %u.", actionFrmType); if (actionFrmType == WLAN_HDD_PROV_DIS_REQ) { @@ -1146,7 +1109,7 @@ int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, #ifdef WLAN_FEATURE_11W if ((type == SIR_MAC_MGMT_FRAME) && (subType == SIR_MAC_MGMT_ACTION) && - (buf[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET] == WLAN_HDD_SA_QUERY_ACTION_FRAME)) + (params->buf[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET] == WLAN_HDD_SA_QUERY_ACTION_FRAME)) { VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR, "%s: Calling sme_sendAction. For Category %s", __func__, "SA Query"); @@ -1156,7 +1119,7 @@ int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, #endif if (eHAL_STATUS_SUCCESS != sme_sendAction( WLAN_HDD_GET_HAL_CTX(pAdapter), - sessionId, buf, len, wait, noack)) + sessionId, params->buf, params->len, params->wait, noack)) { VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR, "%s: sme_sendAction returned fail", __func__); @@ -1169,7 +1132,7 @@ int wlan_hdd_mgmt_tx( struct wiphy *wiphy, struct net_device *dev, { if( VOS_STATUS_SUCCESS != WLANSAP_SendAction( (WLAN_HDD_GET_CTX(pAdapter))->pvosContext, - buf, len, 0 ) ) + params->buf, params->len, 0 ) ) { VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR, "%s: WLANSAP_SendAction returned fail", __func__); @@ -1192,7 +1155,7 @@ err_rem_channel: #else pAdapter->dev, #endif - *cookie, buf, len, FALSE, GFP_KERNEL ); + *cookie, params->buf, params->len, FALSE, GFP_KERNEL ); return 0; } @@ -1679,11 +1642,6 @@ void hdd_sendMgmtFrameOverMonitorIface( hdd_adapter_t *pMonAdapter, int needed_headroom = 0; int flag = HDD_RX_FLAG_IV_STRIPPED | HDD_RX_FLAG_DECRYPTED | HDD_RX_FLAG_MMIC_STRIPPED; -#ifdef WLAN_OPEN_SOURCE -#ifdef WLAN_FEATURE_HOLD_RX_WAKELOCK - hdd_context_t* pHddCtx = (hdd_context_t*)(pMonAdapter->pHddCtx); -#endif -#endif hddLog( LOG1, FL("Indicate Frame over Monitor Intf")); if (NULL == pbFrames) @@ -1730,11 +1688,6 @@ void hdd_sendMgmtFrameOverMonitorIface( hdd_adapter_t *pMonAdapter, skb->dev = pMonAdapter->dev; skb->protocol = eth_type_trans( skb, skb->dev ); skb->ip_summed = CHECKSUM_NONE; -#ifdef WLAN_OPEN_SOURCE -#ifdef WLAN_FEATURE_HOLD_RX_WAKELOCK - wake_lock_timeout(&pHddCtx->rx_wake_lock, msecs_to_jiffies(HDD_WAKE_LOCK_DURATION)); -#endif -#endif rxstat = netif_rx_ni(skb); if( NET_RX_SUCCESS == rxstat ) { @@ -2082,11 +2035,6 @@ static void hdd_wlan_tx_complete( hdd_adapter_t* pAdapter, struct ieee80211_radiotap_header *rthdr; unsigned char *pos; struct sk_buff *skb = cfgState->skb; -#ifdef WLAN_OPEN_SOURCE -#ifdef WLAN_FEATURE_HOLD_RX_WAKELOCK - hdd_context_t *pHddCtx = (hdd_context_t*)(pAdapter->pHddCtx); -#endif -#endif /* 2 Byte for TX flags and 1 Byte for Retry count */ u32 rtHdrLen = sizeof(*rthdr) + 3; @@ -2146,11 +2094,6 @@ static void hdd_wlan_tx_complete( hdd_adapter_t* pAdapter, skb->pkt_type = PACKET_OTHERHOST; skb->protocol = htons(ETH_P_802_2); memset( skb->cb, 0, sizeof( skb->cb ) ); -#ifdef WLAN_OPEN_SOURCE -#ifdef WLAN_FEATURE_HOLD_RX_WAKELOCK - wake_lock_timeout(&pHddCtx->rx_wake_lock, msecs_to_jiffies(HDD_WAKE_LOCK_DURATION)); -#endif -#endif if (in_interrupt()) netif_rx( skb ); else diff --git a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_softap_tx_rx.c b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_softap_tx_rx.c index c3e84809beea..878d4458a020 100644 --- a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_softap_tx_rx.c +++ b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_softap_tx_rx.c @@ -1470,11 +1470,6 @@ VOS_STATUS hdd_softap_rx_packet_cbk( v_VOID_t *vosContext, skb->protocol = eth_type_trans(skb, skb->dev); skb->ip_summed = CHECKSUM_NONE; -#ifdef WLAN_OPEN_SOURCE -#ifdef WLAN_FEATURE_HOLD_RX_WAKELOCK - wake_lock_timeout(&pHddCtx->rx_wake_lock, msecs_to_jiffies(HDD_WAKE_LOCK_DURATION)); -#endif -#endif rxstat = netif_rx_ni(skb); if (NET_RX_SUCCESS == rxstat) { diff --git a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_tx_rx.c b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_tx_rx.c index 15fca106f808..7523b6c6d96d 100644 --- a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_tx_rx.c +++ b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_tx_rx.c @@ -469,7 +469,7 @@ int hdd_mon_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) skb->protocol = htons(HDD_ETHERTYPE_802_1_X); - hdd_hostapd_select_queue(pPgBkAdapter->dev, skb); + hdd_hostapd_select_queue(pPgBkAdapter->dev, skb, NULL, NULL); return hdd_softap_hard_start_xmit( skb, pPgBkAdapter->dev ); } else @@ -1604,11 +1604,6 @@ VOS_STATUS hdd_rx_packet_cbk( v_VOID_t *vosContext, ++pAdapter->hdd_stats.hddTxRxStats.rxPackets; ++pAdapter->stats.rx_packets; pAdapter->stats.rx_bytes += skb->len; -#ifdef WLAN_OPEN_SOURCE -#ifdef WLAN_FEATURE_HOLD_RX_WAKELOCK - wake_lock_timeout(&pHddCtx->rx_wake_lock, msecs_to_jiffies(HDD_WAKE_LOCK_DURATION)); -#endif -#endif rxstat = netif_rx_ni(skb); if (NET_RX_SUCCESS == rxstat) { diff --git a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_wext.c b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_wext.c index ad80945f1dfb..a9baf2e5f018 100644 --- a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_wext.c +++ b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_wext.c @@ -1204,7 +1204,7 @@ VOS_STATUS wlan_hdd_check_ula_done(hdd_adapter_t *pAdapter) if (VOS_FALSE == pHddStaCtx->conn_info.uIsAuthenticated) { - INIT_COMPLETION(pAdapter->ula_complete); + reinit_completion(&pAdapter->ula_complete); /*To avoid race condition between the set key and the last EAPOL packet, notify TL to finish upper layer authentication incase if the @@ -1362,7 +1362,7 @@ static int iw_set_mode(struct net_device *dev, { VOS_STATUS vosStatus; // need to issue a disconnect to CSR. - INIT_COMPLETION(pAdapter->disconnect_comp_var); + reinit_completion(&pAdapter->disconnect_comp_var); vosStatus = sme_RoamDisconnect( WLAN_HDD_GET_HAL_CTX(pAdapter), pAdapter->sessionId, eCSR_DISCONNECT_REASON_IBSS_LEAVE ); @@ -3421,7 +3421,7 @@ static int iw_set_encode(struct net_device *dev,struct iw_request_info *info, if(eConnectionState_Associated == pHddStaCtx->conn_info.connState) { - INIT_COMPLETION(pAdapter->disconnect_comp_var); + reinit_completion(&pAdapter->disconnect_comp_var); status = sme_RoamDisconnect( WLAN_HDD_GET_HAL_CTX(pAdapter), pAdapter->sessionId, eCSR_DISCONNECT_REASON_UNSPECIFIED ); if(eHAL_STATUS_SUCCESS == status) { @@ -3940,7 +3940,7 @@ static int iw_set_mlme(struct net_device *dev, if( mlme->reason_code == HDD_REASON_MICHAEL_MIC_FAILURE ) reason = eCSR_DISCONNECT_REASON_MIC_ERROR; - INIT_COMPLETION(pAdapter->disconnect_comp_var); + reinit_completion(&pAdapter->disconnect_comp_var); status = sme_RoamDisconnect( WLAN_HDD_GET_HAL_CTX(pAdapter), pAdapter->sessionId,reason); if(eHAL_STATUS_SUCCESS == status) @@ -3995,7 +3995,7 @@ static int iw_setint_getnone(struct net_device *dev, struct iw_request_info *inf #ifdef CONFIG_HAS_EARLYSUSPEND v_U8_t nEnableSuspendOld; #endif - INIT_COMPLETION(pWextState->completion_var); + reinit_completion(&pWextState->completion_var); if ((WLAN_HDD_GET_CTX(pAdapter))->isLogpInProgress) { @@ -7255,7 +7255,7 @@ int hdd_setBand(struct net_device *dev, u8 ui_band) __func__, csrGetCurrentBand(hHal), band); pHddStaCtx->conn_info.connState = eConnectionState_NotConnected; - INIT_COMPLETION(pAdapter->disconnect_comp_var); + reinit_completion(&pAdapter->disconnect_comp_var); status = sme_RoamDisconnect( WLAN_HDD_GET_HAL_CTX(pAdapter), pAdapter->sessionId, eCSR_DISCONNECT_REASON_UNSPECIFIED); diff --git a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_wmm.c b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_wmm.c index 9b82144e7434..4c05b51f89b6 100644 --- a/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_wmm.c +++ b/drivers/net/wireless/prima/CORE/HDD/src/wlan_hdd_wmm.c @@ -1857,7 +1857,9 @@ v_VOID_t hdd_wmm_classify_pkt ( hdd_adapter_t* pAdapter, @return : Qdisc queue index ===========================================================================*/ -v_U16_t hdd_hostapd_select_queue(struct net_device * dev, struct sk_buff *skb) + +v_U16_t hdd_hostapd_select_queue(struct net_device * dev, struct sk_buff *skb, + void *accel_priv, select_queue_fallback_t fallback) { WLANTL_ACEnumType ac; sme_QosWmmUpType up = SME_QOS_WMM_UP_BE; @@ -1920,7 +1922,7 @@ done: @return : Qdisc queue index ===========================================================================*/ -v_U16_t hdd_wmm_select_queue(struct net_device * dev, struct sk_buff *skb) +v_U16_t hdd_wmm_select_queue(struct net_device * dev, struct sk_buff *skb, void *accel_priv, select_queue_fallback_t fallback) { WLANTL_ACEnumType ac; sme_QosWmmUpType up = SME_QOS_WMM_UP_BE; diff --git a/drivers/net/wireless/prima/CORE/MAC/src/include/dot11f.h b/drivers/net/wireless/prima/CORE/MAC/src/include/dot11f.h index 87a5886e2e90..f3e42a347410 100644 --- a/drivers/net/wireless/prima/CORE/MAC/src/include/dot11f.h +++ b/drivers/net/wireless/prima/CORE/MAC/src/include/dot11f.h @@ -124,7 +124,7 @@ typedef struct sDot11fFfAID { #define DOT11F_FF_AID_LEN ( 2 ) -void dot11fUnpackFfAID(tpAniSirGlobal, tANI_U8*, tDot11fFfAID*); +void dot11fUnpackFfAID(tpAniSirGlobal, const tANI_U8*, tDot11fFfAID*); void dot11fPackFfAID(tpAniSirGlobal, tDot11fFfAID*, tANI_U8*); @@ -5759,7 +5759,7 @@ typedef struct sDot11fIEWPA { #ifdef __cplusplus extern "C" { #endif /* C++ */ -tANI_U32 dot11fUnpackIeWPA(tpAniSirGlobal, tANI_U8*,tANI_U8, tDot11fIEWPA*); +tANI_U32 dot11fUnpackIeWPA(tpAniSirGlobal, const tANI_U8*,tANI_U8, tDot11fIEWPA*); tANI_U32 dot11fPackIeWPA(tpAniSirGlobal, tDot11fIEWPA*, tANI_U8*, tANI_U32, tANI_U32*); diff --git a/drivers/net/wireless/prima/CORE/SAP/inc/sapApi.h b/drivers/net/wireless/prima/CORE/SAP/inc/sapApi.h index 48ba1ada6042..1551b33c3dea 100644 --- a/drivers/net/wireless/prima/CORE/SAP/inc/sapApi.h +++ b/drivers/net/wireless/prima/CORE/SAP/inc/sapApi.h @@ -1003,7 +1003,7 @@ WLANSAP_StopBss VOS_STATUS WLANSAP_DisassocSta ( - v_PVOID_t pvosGCtx, v_U8_t *pPeerStaMac + v_PVOID_t pvosGCtx, const v_U8_t *pPeerStaMac ); /*========================================================================== @@ -1031,7 +1031,7 @@ WLANSAP_DisassocSta VOS_STATUS WLANSAP_DeauthSta ( - v_PVOID_t pvosGCtx, v_U8_t *pPeerStaMac + v_PVOID_t pvosGCtx, const v_U8_t *pPeerStaMac ); /*========================================================================== diff --git a/drivers/net/wireless/prima/CORE/SAP/src/sapModule.c b/drivers/net/wireless/prima/CORE/SAP/src/sapModule.c index 9dbd1bcd099f..8ef315523f59 100644 --- a/drivers/net/wireless/prima/CORE/SAP/src/sapModule.c +++ b/drivers/net/wireless/prima/CORE/SAP/src/sapModule.c @@ -1242,7 +1242,7 @@ VOS_STATUS WLANSAP_DisassocSta ( v_PVOID_t pvosGCtx, - v_U8_t *pPeerStaMac + const v_U8_t *pPeerStaMac ) { ptSapContext pSapCtx = VOS_GET_SAP_CB(pvosGCtx); @@ -1290,7 +1290,7 @@ VOS_STATUS WLANSAP_DeauthSta ( v_PVOID_t pvosGCtx, - v_U8_t *pPeerStaMac + const v_U8_t *pPeerStaMac ) { eHalStatus halStatus = eHAL_STATUS_FAILURE; diff --git a/drivers/net/wireless/prima/CORE/SME/inc/sme_Api.h b/drivers/net/wireless/prima/CORE/SME/inc/sme_Api.h index 4909a4c739e8..13ed59fe6717 100644 --- a/drivers/net/wireless/prima/CORE/SME/inc/sme_Api.h +++ b/drivers/net/wireless/prima/CORE/SME/inc/sme_Api.h @@ -612,7 +612,7 @@ eHalStatus sme_RoamGetAssociatedStas(tHalHandle hHal, tANI_U8 sessionId, \param pPeerMacAddr - Caller allocated memory filled with peer MAC address (6 bytes) \return eHalStatus SUCCESS Roam callback will be called to indicate actual results -------------------------------------------------------------------------------*/ -eHalStatus sme_RoamDisconnectSta(tHalHandle hHal, tANI_U8 sessionId, tANI_U8 *pPeerMacAddr); +eHalStatus sme_RoamDisconnectSta(tHalHandle hHal, tANI_U8 sessionId, const tANI_U8 *pPeerMacAddr); /* --------------------------------------------------------------------------- \fn sme_RoamDeauthSta @@ -623,7 +623,7 @@ eHalStatus sme_RoamDisconnectSta(tHalHandle hHal, tANI_U8 sessionId, tANI_U8 *pP \return eHalStatus SUCCESS Roam callback will be called to indicate actual results -------------------------------------------------------------------------------*/ eHalStatus sme_RoamDeauthSta(tHalHandle hHal, tANI_U8 sessionId, - tANI_U8 *pPeerMacAddr); + const tANI_U8 *pPeerMacAddr); /* --------------------------------------------------------------------------- \fn sme_RoamTKIPCounterMeasures @@ -3136,7 +3136,7 @@ eHalStatus smeIssueFastRoamNeighborAPEvent (tHalHandle hHal, void smeGetCommandQStatus( tHalHandle hHal ); -eHalStatus sme_RoamDelPMKIDfromCache( tHalHandle hHal, tANI_U8 sessionId, tANI_U8 *pBSSId ); +eHalStatus sme_RoamDelPMKIDfromCache( tHalHandle hHal, tANI_U8 sessionId, const tANI_U8 *pBSSId ); #ifdef FEATURE_WLAN_BATCH_SCAN /* --------------------------------------------------------------------------- \fn sme_SetBatchScanReq @@ -3191,7 +3191,7 @@ sme_StopBatchScanInd #endif -eHalStatus sme_RoamDelPMKIDfromCache( tHalHandle hHal, tANI_U8 sessionId, tANI_U8 *pBSSId ); +eHalStatus sme_RoamDelPMKIDfromCache( tHalHandle hHal, tANI_U8 sessionId, const tANI_U8 *pBSSId ); #ifdef FEATURE_WLAN_CH_AVOID /* --------------------------------------------------------------------------- diff --git a/drivers/net/wireless/prima/CORE/SME/src/csr/csrApiRoam.c b/drivers/net/wireless/prima/CORE/SME/src/csr/csrApiRoam.c index fa802fc9b942..55988bb2ce8f 100644 --- a/drivers/net/wireless/prima/CORE/SME/src/csr/csrApiRoam.c +++ b/drivers/net/wireless/prima/CORE/SME/src/csr/csrApiRoam.c @@ -79,6 +79,7 @@ #include "pmc.h" #include "vos_nvitem.h" #include "macTrace.h" +#include "sme_Api.h" #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING #include "csrNeighborRoam.h" #endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */ diff --git a/drivers/net/wireless/prima/CORE/SME/src/sme_common/sme_Api.c b/drivers/net/wireless/prima/CORE/SME/src/sme_common/sme_Api.c index a41536f11d1a..7e42a7bc16e2 100644 --- a/drivers/net/wireless/prima/CORE/SME/src/sme_common/sme_Api.c +++ b/drivers/net/wireless/prima/CORE/SME/src/sme_common/sme_Api.c @@ -2975,7 +2975,7 @@ eHalStatus sme_RoamStopBss(tHalHandle hHal, tANI_U8 sessionId) \return eHalStatus SUCCESS Roam callback will be called to indicate actual results -------------------------------------------------------------------------------*/ eHalStatus sme_RoamDisconnectSta(tHalHandle hHal, tANI_U8 sessionId, - tANI_U8 *pPeerMacAddr) + const tANI_U8 *pPeerMacAddr) { eHalStatus status = eHAL_STATUS_FAILURE; tpAniSirGlobal pMac = PMAC_STRUCT( hHal ); @@ -3013,7 +3013,7 @@ eHalStatus sme_RoamDisconnectSta(tHalHandle hHal, tANI_U8 sessionId, \return eHalStatus SUCCESS Roam callback will be called to indicate actual results -------------------------------------------------------------------------------*/ eHalStatus sme_RoamDeauthSta(tHalHandle hHal, tANI_U8 sessionId, - tANI_U8 *pPeerMacAddr) + const tANI_U8 *pPeerMacAddr) { eHalStatus status = eHAL_STATUS_FAILURE; tpAniSirGlobal pMac = PMAC_STRUCT( hHal ); @@ -3292,7 +3292,7 @@ eHalStatus sme_RoamSetPMKIDCache( tHalHandle hHal, tANI_U8 sessionId, tPmkidCach return (status); } -eHalStatus sme_RoamDelPMKIDfromCache( tHalHandle hHal, tANI_U8 sessionId, tANI_U8 *pBSSId ) +eHalStatus sme_RoamDelPMKIDfromCache( tHalHandle hHal, tANI_U8 sessionId, const tANI_U8 *pBSSId ) { eHalStatus status = eHAL_STATUS_FAILURE; tpAniSirGlobal pMac = PMAC_STRUCT( hHal ); diff --git a/drivers/net/wireless/prima/CORE/SVC/src/logging/wlan_logging_sock_svc.c b/drivers/net/wireless/prima/CORE/SVC/src/logging/wlan_logging_sock_svc.c index 4b78a0d00c14..9451f871b654 100644 --- a/drivers/net/wireless/prima/CORE/SVC/src/logging/wlan_logging_sock_svc.c +++ b/drivers/net/wireless/prima/CORE/SVC/src/logging/wlan_logging_sock_svc.c @@ -542,7 +542,7 @@ int wlan_logging_sock_deactivate_svc(void) gapp_pid = INVALID_PID; gwlan_logging.exit = true; - INIT_COMPLETION(gwlan_logging.shutdown_comp); + reinit_completion(&gwlan_logging.shutdown_comp); wake_up_interruptible(&gwlan_logging.wait_queue); wait_for_completion_interruptible(&gwlan_logging.shutdown_comp); diff --git a/drivers/net/wireless/prima/CORE/SYS/legacy/src/utils/src/dot11f.c b/drivers/net/wireless/prima/CORE/SYS/legacy/src/utils/src/dot11f.c index c6d352cc9464..b854a296327f 100644 --- a/drivers/net/wireless/prima/CORE/SYS/legacy/src/utils/src/dot11f.c +++ b/drivers/net/wireless/prima/CORE/SYS/legacy/src/utils/src/dot11f.c @@ -5223,7 +5223,7 @@ tANI_U32 dot11fUnpackIeWMMParams(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 iel #define SigIeWMMParams ( 0x0080 ) -tANI_U32 dot11fUnpackIeWPA(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWPA *pDst) +tANI_U32 dot11fUnpackIeWPA(tpAniSirGlobal pCtx, const tANI_U8 *pBuf, tANI_U8 ielen, tDot11fIEWPA *pDst) { tANI_U32 status = DOT11F_PARSE_SUCCESS; (void) pBuf; (void)ielen; /* Shutup the compiler */ diff --git a/drivers/net/wireless/prima/CORE/VOSS/inc/vos_memory.h b/drivers/net/wireless/prima/CORE/VOSS/inc/vos_memory.h index 1776c56eb877..a6caad456d6d 100644 --- a/drivers/net/wireless/prima/CORE/VOSS/inc/vos_memory.h +++ b/drivers/net/wireless/prima/CORE/VOSS/inc/vos_memory.h @@ -227,7 +227,7 @@ v_VOID_t vos_mem_move( v_VOID_t *pDst, const v_VOID_t *pSrc, v_SIZE_t numBytes ) locations are equal or not equal. -------------------------------------------------------------------------------*/ -v_BOOL_t vos_mem_compare( v_VOID_t *pMemory1, v_VOID_t *pMemory2, v_U32_t numBytes ); +v_BOOL_t vos_mem_compare( const v_VOID_t *pMemory1, const v_VOID_t *pMemory2, v_U32_t numBytes ); /** --------------------------------------------------------------------------- @@ -252,7 +252,7 @@ v_BOOL_t vos_mem_compare( v_VOID_t *pMemory1, v_VOID_t *pMemory2, v_U32_t numByt > 0 -- *pMemory1 is bigger than *pMemory2 -------------------------------------------------------------------------------*/ -v_SINT_t vos_mem_compare2( v_VOID_t *pMemory1, v_VOID_t *pMemory2, v_U32_t numBytes ); +v_SINT_t vos_mem_compare2(const v_VOID_t *pMemory1, const v_VOID_t *pMemory2, v_U32_t numBytes ); /*---------------------------------------------------------------------------- diff --git a/drivers/net/wireless/prima/CORE/VOSS/src/vos_event.c b/drivers/net/wireless/prima/CORE/VOSS/src/vos_event.c index 256142913d3c..9ede2558a6e8 100644 --- a/drivers/net/wireless/prima/CORE/VOSS/src/vos_event.c +++ b/drivers/net/wireless/prima/CORE/VOSS/src/vos_event.c @@ -256,7 +256,7 @@ VOS_STATUS vos_event_reset ( vos_event_t* event ) } // (re)initialize event - INIT_COMPLETION(event->complete); + reinit_completion(&event->complete); return VOS_STATUS_SUCCESS; } diff --git a/drivers/net/wireless/prima/CORE/VOSS/src/vos_memory.c b/drivers/net/wireless/prima/CORE/VOSS/src/vos_memory.c index 608a8ed330bd..ed53d82e3343 100644 --- a/drivers/net/wireless/prima/CORE/VOSS/src/vos_memory.c +++ b/drivers/net/wireless/prima/CORE/VOSS/src/vos_memory.c @@ -434,7 +434,7 @@ v_VOID_t vos_mem_move( v_VOID_t *pDst, const v_VOID_t *pSrc, v_SIZE_t numBytes ) memmove(pDst, pSrc, numBytes); } -v_BOOL_t vos_mem_compare( v_VOID_t *pMemory1, v_VOID_t *pMemory2, v_U32_t numBytes ) +v_BOOL_t vos_mem_compare( const v_VOID_t *pMemory1, const v_VOID_t *pMemory2, v_U32_t numBytes ) { if (0 == numBytes) { @@ -454,7 +454,7 @@ v_BOOL_t vos_mem_compare( v_VOID_t *pMemory1, v_VOID_t *pMemory2, v_U32_t numByt } -v_SINT_t vos_mem_compare2( v_VOID_t *pMemory1, v_VOID_t *pMemory2, v_U32_t numBytes ) +v_SINT_t vos_mem_compare2( const v_VOID_t *pMemory1, const v_VOID_t *pMemory2, v_U32_t numBytes ) { return( (v_SINT_t) memcmp( pMemory1, pMemory2, numBytes ) ); diff --git a/drivers/net/wireless/prima/CORE/VOSS/src/vos_nvitem.c b/drivers/net/wireless/prima/CORE/VOSS/src/vos_nvitem.c index ad95ae3a2a84..71b8bec40d68 100644 --- a/drivers/net/wireless/prima/CORE/VOSS/src/vos_nvitem.c +++ b/drivers/net/wireless/prima/CORE/VOSS/src/vos_nvitem.c @@ -3274,7 +3274,7 @@ VOS_STATUS vos_nv_getRegDomainFromCountryCode( v_REGDOMAIN_t *pRegDomain, if (COUNTRY_NV == source) { - INIT_COMPLETION(pHddCtx->linux_reg_req); + reinit_completion(&pHddCtx->linux_reg_req); regulatory_hint(wiphy, country_code); wait_result = wait_for_completion_interruptible_timeout( &pHddCtx->linux_reg_req, @@ -3314,11 +3314,9 @@ VOS_STATUS vos_nv_getRegDomainFromCountryCode( v_REGDOMAIN_t *pRegDomain, } else if (COUNTRY_IE == source || COUNTRY_USER == source) { -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) - regulatory_hint_user(country_code,NL80211_USER_REG_HINT_USER); -#else - regulatory_hint_user(country_code); -#endif +//!!! +// regulatory_hint_user(country_code,NL80211_USER_REG_HINT_USER); + *pRegDomain = temp_reg_domain; } @@ -3428,7 +3426,7 @@ static int create_linux_regulatory_entry(struct wiphy *wiphy, VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_INFO, "%s: Remove passive scan restriction for %u", __func__, wiphy->bands[i]->channels[j].center_freq); - wiphy->bands[i]->channels[j].flags &= ~IEEE80211_CHAN_PASSIVE_SCAN; + wiphy->bands[i]->channels[j].flags &= ~IEEE80211_CHAN_NO_IR; } } @@ -3447,7 +3445,7 @@ static int create_linux_regulatory_entry(struct wiphy *wiphy, } /* nv cannot distinguish between DFS and passive channels */ else if (wiphy->bands[i]->channels[j].flags & - (IEEE80211_CHAN_RADAR | IEEE80211_CHAN_PASSIVE_SCAN)) + (IEEE80211_CHAN_RADAR | IEEE80211_CHAN_NO_IR)) { pnvEFSTable->halnv.tables.regDomains[temp_reg_domain].channels[k].enabled = NV_CHANNEL_DFS; @@ -3705,18 +3703,18 @@ VOS_STATUS vos_init_wiphy_from_nv_bin(void) /* default country is world roaming */ reg_domain = REGDOMAIN_WORLD; - wiphy->flags |= WIPHY_FLAG_CUSTOM_REGULATORY; + wiphy->regulatory_flags |= REGULATORY_CUSTOM_REG; } else if (REGDOMAIN_WORLD == pnvEFSTable->halnv.tables.defaultCountryTable.regDomain) { reg_domain = pnvEFSTable->halnv.tables.defaultCountryTable.regDomain; - wiphy->flags |= WIPHY_FLAG_CUSTOM_REGULATORY; + wiphy->regulatory_flags |= REGULATORY_CUSTOM_REG; } else { reg_domain = pnvEFSTable->halnv.tables.defaultCountryTable.regDomain; - wiphy->flags |= WIPHY_FLAG_STRICT_REGULATORY; + wiphy->regulatory_flags |= REGULATORY_STRICT_REG; } m = 0; @@ -3744,7 +3742,7 @@ VOS_STATUS vos_init_wiphy_from_nv_bin(void) else if (pnvEFSTable->halnv.tables.regDomains[reg_domain].channels[k].enabled == NV_CHANNEL_DFS) { - wiphy->bands[i]->channels[j].flags |= IEEE80211_CHAN_PASSIVE_SCAN; + wiphy->bands[i]->channels[j].flags |= IEEE80211_CHAN_NO_IR; wiphy->bands[i]->channels[j].max_power = (pnvEFSTable->halnv.tables.regDomains[reg_domain].channels[k].pwrLimit)*100; @@ -3898,7 +3896,7 @@ VOS_STATUS vos_nv_getRegDomainFromCountryCode( v_REGDOMAIN_t *pRegDomain, wiphy = pHddCtx->wiphy; - INIT_COMPLETION(pHddCtx->driver_crda_req); + reinit_completion(&pHddCtx->driver_crda_req); regulatory_hint(wiphy, countryCode); status = wait_for_completion_interruptible_timeout( &pHddCtx->driver_crda_req, @@ -4160,12 +4158,12 @@ int wlan_hdd_crda_reg_notifier(struct wiphy *wiphy, { wiphy->bands[i]->channels[j].flags &= ~(IEEE80211_CHAN_DISABLED |IEEE80211_CHAN_RADAR); - wiphy->bands[i]->channels[j].flags |= IEEE80211_CHAN_PASSIVE_SCAN; + wiphy->bands[i]->channels[j].flags |= IEEE80211_CHAN_NO_IR; } else { wiphy->bands[i]->channels[j].flags &= ~(IEEE80211_CHAN_DISABLED - |IEEE80211_CHAN_PASSIVE_SCAN + |IEEE80211_CHAN_NO_IR |IEEE80211_CHAN_NO_IBSS |IEEE80211_CHAN_RADAR); } @@ -4193,7 +4191,7 @@ int wlan_hdd_crda_reg_notifier(struct wiphy *wiphy, wiphy->bands[IEEE80211_BAND_5GHZ]->channels[j].center_freq == 5240) && ((ccode[0]== 'U'&& ccode[1]=='S') && pHddCtx->nEnableStrictRegulatoryForFCC)) { - wiphy->bands[IEEE80211_BAND_5GHZ]->channels[j].flags |= IEEE80211_CHAN_PASSIVE_SCAN; + wiphy->bands[IEEE80211_BAND_5GHZ]->channels[j].flags |= IEEE80211_CHAN_NO_IR; } else if ((wiphy->bands[IEEE80211_BAND_5GHZ]->channels[j].center_freq == 5180 || wiphy->bands[IEEE80211_BAND_5GHZ]->channels[j].center_freq == 5200 || @@ -4201,7 +4199,7 @@ int wlan_hdd_crda_reg_notifier(struct wiphy *wiphy, wiphy->bands[IEEE80211_BAND_5GHZ]->channels[j].center_freq == 5240) && ((ccode[0]!= 'U'&& ccode[1]!='S') || !pHddCtx->nEnableStrictRegulatoryForFCC)) { - wiphy->bands[IEEE80211_BAND_5GHZ]->channels[j].flags &= ~IEEE80211_CHAN_PASSIVE_SCAN; + wiphy->bands[IEEE80211_BAND_5GHZ]->channels[j].flags &= ~IEEE80211_CHAN_NO_IR; } } } diff --git a/drivers/net/wireless/prima/CORE/VOSS/src/vos_power.c b/drivers/net/wireless/prima/CORE/VOSS/src/vos_power.c index 81b78e343b10..41c6945755de 100644 --- a/drivers/net/wireless/prima/CORE/VOSS/src/vos_power.c +++ b/drivers/net/wireless/prima/CORE/VOSS/src/vos_power.c @@ -94,8 +94,8 @@ when who what, where, why #include <vos_power.h> #ifdef MSM_PLATFORM -#include <mach/mpp.h> -#include <mach/vreg.h> +//#include <mach/mpp.h> +//#include <mach/vreg.h> #include <linux/err.h> #include <linux/delay.h> #endif //MSM_PLATFORM diff --git a/drivers/net/wireless/prima/CORE/VOSS/src/vos_sched.c b/drivers/net/wireless/prima/CORE/VOSS/src/vos_sched.c index d79394a87a48..59aa2e1f5b04 100644 --- a/drivers/net/wireless/prima/CORE/VOSS/src/vos_sched.c +++ b/drivers/net/wireless/prima/CORE/VOSS/src/vos_sched.c @@ -624,7 +624,7 @@ VosMCThread /* Mc Thread Suspended */ complete(&pHddCtx->mc_sus_event_var); - INIT_COMPLETION(pSchedContext->ResumeMcEvent); + reinit_completion(&pSchedContext->ResumeMcEvent); spin_unlock(&pSchedContext->McThreadLock); /* Wait foe Resume Indication */ @@ -1012,7 +1012,7 @@ static int VosTXThread ( void * Arg ) /* Tx Thread Suspended */ complete(&pHddCtx->tx_sus_event_var); - INIT_COMPLETION(pSchedContext->ResumeTxEvent); + reinit_completion(&pSchedContext->ResumeTxEvent); spin_unlock(&pSchedContext->TxThreadLock); /* Wait foe Resume Indication */ @@ -1189,7 +1189,7 @@ static int VosRXThread ( void * Arg ) /* Rx Thread Suspended */ complete(&pHddCtx->rx_sus_event_var); - INIT_COMPLETION(pSchedContext->ResumeRxEvent); + reinit_completion(&pSchedContext->ResumeRxEvent); spin_unlock(&pSchedContext->RxThreadLock); /* Wait for Resume Indication */ diff --git a/drivers/net/wireless/prima/CORE/VOSS/src/vos_sched.h b/drivers/net/wireless/prima/CORE/VOSS/src/vos_sched.h index dc6acf9ceddc..1c94acd70c43 100644 --- a/drivers/net/wireless/prima/CORE/VOSS/src/vos_sched.h +++ b/drivers/net/wireless/prima/CORE/VOSS/src/vos_sched.h @@ -88,7 +88,6 @@ #include "i_vos_types.h" #include "i_vos_packet.h" #include <linux/wait.h> -#include <linux/wakelock.h> #include <vos_power.h> #define TX_POST_EVENT_MASK 0x001 diff --git a/drivers/net/wireless/prima/CORE/VOSS/src/vos_utils.c b/drivers/net/wireless/prima/CORE/VOSS/src/vos_utils.c index 27d5f874dd0b..9f38304937b1 100644 --- a/drivers/net/wireless/prima/CORE/VOSS/src/vos_utils.c +++ b/drivers/net/wireless/prima/CORE/VOSS/src/vos_utils.c @@ -311,7 +311,7 @@ int hmac_sha1(v_U8_t *key, v_U8_t ksize, char *plaintext, v_U8_t psize, case -EBUSY: ret = wait_for_completion_interruptible(&tresult.completion); if (!ret && !tresult.err) { - INIT_COMPLETION(tresult.completion); + reinit_completion(&tresult.completion); break; } else { VOS_TRACE(VOS_MODULE_ID_VOSS,VOS_TRACE_LEVEL_ERROR, "wait_for_completion_interruptible failed"); @@ -466,7 +466,7 @@ int hmac_md5(v_U8_t *key, v_U8_t ksize, char *plaintext, v_U8_t psize, case -EBUSY: ret = wait_for_completion_interruptible(&tresult.completion); if (!ret && !tresult.err) { - INIT_COMPLETION(tresult.completion); + reinit_completion(&tresult.completion); break; } else { VOS_TRACE(VOS_MODULE_ID_VOSS,VOS_TRACE_LEVEL_ERROR, "wait_for_completion_interruptible failed"); diff --git a/drivers/net/wireless/prima/CORE/WDI/TRP/CTS/src/wlan_qct_wdi_cts.c b/drivers/net/wireless/prima/CORE/WDI/TRP/CTS/src/wlan_qct_wdi_cts.c index 29539ecfde90..0c7c30d4995f 100644 --- a/drivers/net/wireless/prima/CORE/WDI/TRP/CTS/src/wlan_qct_wdi_cts.c +++ b/drivers/net/wireless/prima/CORE/WDI/TRP/CTS/src/wlan_qct_wdi_cts.c @@ -98,12 +98,12 @@ #include "wlan_qct_os_list.h" #include "wlan_qct_wdi.h" #include "wlan_qct_wdi_i.h" -#ifdef CONFIG_ANDROID -#include <mach/msm_smd.h> +//#ifdef CONFIG_ANDROID +//#include <mach/msm_smd.h> #include <linux/delay.h> -#else -#include "msm_smd.h" -#endif +//#else +#include <soc/qcom/smd.h> +//#endif /* Global context for CTS handle, it is required to keep this * transport open during SSR shutdown */ diff --git a/drivers/net/wireless/prima/CORE/WDI/WPAL/src/wlan_qct_pal_api.c b/drivers/net/wireless/prima/CORE/WDI/WPAL/src/wlan_qct_pal_api.c index 83b0841ff493..dafb9e084e45 100644 --- a/drivers/net/wireless/prima/CORE/WDI/WPAL/src/wlan_qct_pal_api.c +++ b/drivers/net/wireless/prima/CORE/WDI/WPAL/src/wlan_qct_pal_api.c @@ -65,7 +65,7 @@ #include "vos_api.h" #include "dma-mapping.h" -#include <mach/subsystem_restart.h> +#include <soc/qcom/subsystem_restart.h> #include <linux/wcnss_wlan.h> typedef struct sPalStruct diff --git a/drivers/net/wireless/prima/CORE/WDI/WPAL/src/wlan_qct_pal_device.c b/drivers/net/wireless/prima/CORE/WDI/WPAL/src/wlan_qct_pal_device.c index 296bc6c4d9da..c4d6cd77b0e5 100644 --- a/drivers/net/wireless/prima/CORE/WDI/WPAL/src/wlan_qct_pal_device.c +++ b/drivers/net/wireless/prima/CORE/WDI/WPAL/src/wlan_qct_pal_device.c @@ -77,7 +77,7 @@ #include <linux/irqreturn.h> #include <linux/interrupt.h> #include <linux/io.h> -#include <mach/msm_smsm.h> +#include <soc/qcom/smsm.h> #include "wlan_qct_pal_api.h" #include "wlan_qct_pal_device.h" #include "wlan_hdd_main.h" diff --git a/drivers/net/wireless/prima/Kconfig b/drivers/net/wireless/prima/Kconfig index d3f811bbc9c5..5ed8eb11b4d1 100644 --- a/drivers/net/wireless/prima/Kconfig +++ b/drivers/net/wireless/prima/Kconfig @@ -45,7 +45,7 @@ config QCOM_VOWIFI_11R bool "Enable Fast Transition (11r) feature" default n -config CONFIG_ENABLE_LINUX_REG +config ENABLE_LINUX_REG bool "Enable linux regulatory feature" default n |