From d73a543a501aedc2b0d871953e3305da1785ab03 Mon Sep 17 00:00:00 2001 From: Jeff Johnson Date: Sun, 15 Oct 2017 18:12:52 -0700 Subject: [PATCH] qcacld-3.0: Remove obsolete STA support for SIOCSIWESSID At one time the predecessor to the current driver was managed via wireless extensions, but now the driver is managed by cfg80211. The STA implementation of SIOCSIWESSID should no longer be used, so remove it. Change-Id: Idf75957707c3799add0c59fdd532fe0c24d27117 CRs-Fixed: 2128991 --- core/hdd/inc/wlan_hdd_wext.h | 4 - core/hdd/src/wlan_hdd_assoc.c | 232 ---------------------------------- core/hdd/src/wlan_hdd_wext.c | 6 +- 3 files changed, 3 insertions(+), 239 deletions(-) diff --git a/core/hdd/inc/wlan_hdd_wext.h b/core/hdd/inc/wlan_hdd_wext.h index e287ab1c5979..8610cbaff164 100644 --- a/core/hdd/inc/wlan_hdd_wext.h +++ b/core/hdd/inc/wlan_hdd_wext.h @@ -276,10 +276,6 @@ extern void hdd_wlan_get_stats(struct hdd_adapter *adapter, uint16_t *length, extern void hdd_wlan_list_fw_profile(uint16_t *length, char *buffer, uint16_t buf_len); -extern int iw_set_essid(struct net_device *dev, - struct iw_request_info *info, - union iwreq_data *wrqu, char *extra); - extern int iw_set_ap_address(struct net_device *dev, struct iw_request_info *info, union iwreq_data *wrqu, char *extra); diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c index 31d8820cb305..46cbe84b8c4b 100644 --- a/core/hdd/src/wlan_hdd_assoc.c +++ b/core/hdd/src/wlan_hdd_assoc.c @@ -5296,238 +5296,6 @@ int hdd_set_csr_auth_type(struct hdd_adapter *adapter, return 0; } -/** - * __iw_set_essid() - This function sets the ssid received from wpa_supplicant - * to the CSR roam profile. - * - * @dev: Pointer to the net device. - * @info: Pointer to the iw_request_info. - * @wrqu: Pointer to the iwreq_data. - * @extra: Pointer to the data. - * - * Return: 0 for success, error number on failure - */ -static int __iw_set_essid(struct net_device *dev, - struct iw_request_info *info, - union iwreq_data *wrqu, char *extra) -{ - uint32_t status = 0; - struct hdd_wext_state *pWextState; - struct hdd_adapter *adapter = WLAN_HDD_GET_PRIV_PTR(dev); - struct hdd_context *hdd_ctx; - struct hdd_station_ctx *sta_ctx; - uint32_t roamId; - tCsrRoamProfile *pRoamProfile; - eCsrAuthType RSNAuthType; - tHalHandle hHal = WLAN_HDD_GET_HAL_CTX(adapter); - int ret; - - ENTER_DEV(dev); - - hdd_ctx = WLAN_HDD_GET_CTX(adapter); - ret = wlan_hdd_validate_context(hdd_ctx); - if (ret) - return ret; - - ret = hdd_check_standard_wext_control(hdd_ctx, info); - if (0 != ret) - return ret; - - if (adapter->device_mode != QDF_STA_MODE && - adapter->device_mode != QDF_IBSS_MODE && - adapter->device_mode != QDF_P2P_CLIENT_MODE) { - hdd_warn("device mode %s(%d) is not allowed", - hdd_device_mode_to_string(adapter->device_mode), - adapter->device_mode); - return -EINVAL; - } - - sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter); - pWextState = WLAN_HDD_GET_WEXT_STATE_PTR(adapter); - - if (pWextState->mTKIPCounterMeasures == TKIP_COUNTER_MEASURE_STARTED) { - hdd_warn("Counter measure is in progress"); - return -EBUSY; - } - if (SIR_MAC_MAX_SSID_LENGTH < wrqu->essid.length) - return -EINVAL; - - pRoamProfile = &pWextState->roamProfile; - /*Try disconnecting if already in connected state*/ - status = wlan_hdd_try_disconnect(adapter); - if (0 > status) { - hdd_err("Failed to disconnect the existing connection"); - return -EALREADY; - } - - /* - * when cfg80211 defined, wpa_supplicant wext driver uses - * zero-length, null-string ssid for force disconnection. - * after disconnection (if previously connected) and cleaning ssid, - * driver MUST return success. - */ - if (0 == wrqu->essid.length) - return 0; - - status = hdd_wmm_get_uapsd_mask(adapter, - &pWextState->roamProfile.uapsd_mask); - if (QDF_STATUS_SUCCESS != status) - pWextState->roamProfile.uapsd_mask = 0; - - pWextState->roamProfile.SSIDs.numOfSSIDs = 1; - - pWextState->roamProfile.SSIDs.SSIDList->SSID.length = - wrqu->essid.length; - - qdf_mem_zero(pWextState->roamProfile.SSIDs.SSIDList->SSID.ssId, - sizeof(pWextState->roamProfile.SSIDs.SSIDList->SSID.ssId)); - qdf_mem_copy((void *)(pWextState->roamProfile.SSIDs.SSIDList->SSID. - ssId), extra, wrqu->essid.length); - if (sta_ctx->wpa_versions) { - - /* set gen ie */ - hdd_set_genie_to_csr(adapter, &RSNAuthType); - - /* set auth */ - hdd_set_csr_auth_type(adapter, RSNAuthType); - } -#ifdef FEATURE_WLAN_WAPI - hdd_debug("Setting WAPI AUTH Type and Encryption Mode values"); - if (adapter->wapi_info.nWapiMode) { - switch (adapter->wapi_info.wapiAuthMode) { - case WAPI_AUTH_MODE_PSK: - { - hdd_debug("WAPI AUTH TYPE: PSK: %d", - adapter->wapi_info.wapiAuthMode); - pRoamProfile->AuthType.numEntries = 1; - pRoamProfile->AuthType.authType[0] = - eCSR_AUTH_TYPE_WAPI_WAI_PSK; - break; - } - case WAPI_AUTH_MODE_CERT: - { - hdd_debug("WAPI AUTH TYPE: CERT: %d", - adapter->wapi_info.wapiAuthMode); - pRoamProfile->AuthType.numEntries = 1; - pRoamProfile->AuthType.authType[0] = - eCSR_AUTH_TYPE_WAPI_WAI_CERTIFICATE; - break; - } - } /* End of switch */ - if (adapter->wapi_info.wapiAuthMode == WAPI_AUTH_MODE_PSK || - adapter->wapi_info.wapiAuthMode == WAPI_AUTH_MODE_CERT) { - hdd_debug("WAPI PAIRWISE/GROUP ENCRYPTION: WPI"); - pRoamProfile->EncryptionType.numEntries = 1; - pRoamProfile->EncryptionType.encryptionType[0] = - eCSR_ENCRYPT_TYPE_WPI; - pRoamProfile->mcEncryptionType.numEntries = 1; - pRoamProfile->mcEncryptionType.encryptionType[0] = - eCSR_ENCRYPT_TYPE_WPI; - } - } -#endif /* FEATURE_WLAN_WAPI */ - /* if previous genIE is not NULL, update AssocIE */ - if (0 != pWextState->genIE.length) { - memset(&pWextState->assocAddIE, 0, - sizeof(pWextState->assocAddIE)); - memcpy(pWextState->assocAddIE.addIEdata, - pWextState->genIE.addIEdata, pWextState->genIE.length); - pWextState->assocAddIE.length = pWextState->genIE.length; - pWextState->roamProfile.pAddIEAssoc = - pWextState->assocAddIE.addIEdata; - pWextState->roamProfile.nAddIEAssocLength = - pWextState->assocAddIE.length; - - /* clear previous genIE after use it */ - memset(&pWextState->genIE, 0, sizeof(pWextState->genIE)); - } - - /* - * Assumes it is not WPS Association by default, except when - * pAddIEAssoc has WPS IE. - */ - pWextState->roamProfile.bWPSAssociation = false; - - if (NULL != wlan_hdd_get_wps_ie_ptr(pWextState->roamProfile.pAddIEAssoc, - pWextState->roamProfile. - nAddIEAssocLength)) - pWextState->roamProfile.bWPSAssociation = true; - - /* Disable auto BMPS entry by PMC until DHCP is done */ - sme_set_dhcp_till_power_active_flag(WLAN_HDD_GET_HAL_CTX(adapter), - true); - - pWextState->roamProfile.csrPersona = adapter->device_mode; - - if (eCSR_BSS_TYPE_START_IBSS == pRoamProfile->BSSType) { - pRoamProfile->ch_params.ch_width = 0; - hdd_select_cbmode(adapter, - (WLAN_HDD_GET_CTX(adapter))->config->AdHocChannel5G, - &pRoamProfile->ch_params); - } - - /* - * Change conn_state to connecting before sme_roam_connect(), - * because sme_roam_connect() has a direct path to call - * hdd_sme_roam_callback(), which will change the conn_state - * If direct path, conn_state will be accordingly changed to - * NotConnected or Associated by either - * hdd_association_completion_handler() or hdd_dis_connect_handler() - * in sme_RoamCallback()if sme_RomConnect is to be queued, - * Connecting state will remain until it is completed. - * - * If connection state is not changed, - * connection state will remain in eConnectionState_NotConnected state. - * In hdd_association_completion_handler, "hddDisconInProgress" is - * set to true if conn state is eConnectionState_NotConnected. - * If "hddDisconInProgress" is set to true then cfg80211 layer is not - * informed of connect result indication which is an issue. - */ - if (QDF_STA_MODE == adapter->device_mode || - QDF_P2P_CLIENT_MODE == adapter->device_mode) - hdd_conn_set_connection_state(adapter, - eConnectionState_Connecting); - - status = sme_roam_connect(hHal, adapter->sessionId, - &(pWextState->roamProfile), &roamId); - if ((QDF_STATUS_SUCCESS != status) && - (QDF_STA_MODE == adapter->device_mode || - QDF_P2P_CLIENT_MODE == adapter->device_mode)) { - hdd_err("sme_roam_connect failed session_id: %d status %d -> NotConnected", - adapter->sessionId, status); - /* change back to NotAssociated */ - hdd_conn_set_connection_state(adapter, - eConnectionState_NotConnected); - } - pRoamProfile->ChannelInfo.ChannelList = NULL; - pRoamProfile->ChannelInfo.numOfChannels = 0; - - EXIT(); - return status; -} - -/** - * iw_set_essid() - set essid handler function - * @dev: Pointer to the net device. - * @info: Pointer to the iw_request_info. - * @wrqu: Pointer to the iwreq_data. - * @extra: Pointer to the data. - * - * Return: 0 for success, error number on failure - */ -int iw_set_essid(struct net_device *dev, - struct iw_request_info *info, - union iwreq_data *wrqu, char *extra) -{ - int ret; - - cds_ssr_protect(__func__); - ret = __iw_set_essid(dev, info, wrqu, extra); - cds_ssr_unprotect(__func__); - - return ret; -} - /** * __iw_set_ap_address() - set ap address * @dev: pointer to the net device diff --git a/core/hdd/src/wlan_hdd_wext.c b/core/hdd/src/wlan_hdd_wext.c index 5f9731b73a96..029ad79f876d 100644 --- a/core/hdd/src/wlan_hdd_wext.c +++ b/core/hdd/src/wlan_hdd_wext.c @@ -11345,9 +11345,9 @@ static const iw_handler we_handler[] = { (iw_handler) iw_get_ap_address, /* SIOCGIWAP */ (iw_handler) iw_set_mlme, /* SIOCSIWMLME */ (iw_handler) NULL, /* SIOCGIWAPLIST */ - (iw_handler) NULL, /* SIOCSIWSCAN */ - (iw_handler) NULL, /* SIOCGIWSCAN */ - (iw_handler) iw_set_essid, /* SIOCSIWESSID */ + (iw_handler) NULL, /* SIOCSIWSCAN */ + (iw_handler) NULL, /* SIOCGIWSCAN */ + (iw_handler) NULL, /* SIOCSIWESSID */ (iw_handler) NULL, /* SIOCGIWESSID */ (iw_handler) NULL, /* SIOCSIWNICKN */ (iw_handler) NULL, /* SIOCGIWNICKN */