software/drivers/sd8887/src/wlan/mlan/mlan_11ac.c
/**
 *  @brief 11ac configuration handler
 *
 *  @param pmadapter    A pointer to mlan_adapter structure
 *  @param pioctl_req   A pointer to ioctl request buffer
 *
 *  @return     MLAN_STATUS_SUCCESS --success, otherwise fail
 */
@brief 11ac configuration handler
@param pmadapter    A pointer to mlan_adapter structure
@param pioctl_req   A pointer to ioctl request buffer

@return     MLAN_STATUS_SUCCESS --success, otherwise fail
@brief 11ac configuration handler @param pmadapter A pointer to mlan_adapter structure @param pioctl_req A pointer to ioctl request buffer @return MLAN_STATUS_SUCCESS -- success otherwise fail
mlan_status
wlan_11ac_cfg_ioctl(pmlan_adapter pmadapter, pmlan_ioctl_req pioctl_req)
{
	mlan_status status = MLAN_STATUS_SUCCESS;
	mlan_ds_11ac_cfg *cfg = MNULL;
	ENTER();
	if (pioctl_req->buf_len < sizeof(mlan_ds_11ac_cfg)) {
		PRINTM(MINFO, "MLAN bss IOCTL length is too short.\n");
		pioctl_req->data_read_written = 0;
		pioctl_req->buf_len_needed = sizeof(mlan_ds_11ac_cfg);
		pioctl_req->status_code = MLAN_ERROR_INVALID_PARAMETER;
		LEAVE();
		return MLAN_STATUS_RESOURCE;
	}
	cfg = (mlan_ds_11ac_cfg *)pioctl_req->pbuf;
	switch (cfg->sub_command) {
	case MLAN_OID_11AC_VHT_CFG:
		status = wlan_11ac_ioctl_vhtcfg(pmadapter, pioctl_req);
		break;
	case MLAN_OID_11AC_CFG_SUPPORTED_MCS_SET:
		status = wlan_11ac_ioctl_supported_mcs_set(pmadapter,
							   pioctl_req);
		break;
	case MLAN_OID_11AC_OPERMODE_CFG:
		status = wlan_11ac_ioctl_opermodecfg(pmadapter, pioctl_req);
		break;
	default:
		pioctl_req->status_code = MLAN_ERROR_IOCTL_INVALID;
		status = MLAN_STATUS_FAILURE;
		break;
	}
	LEAVE();
	return status;
}
mlan_status wlan_11ac_cfg_ioctl ( pmlan_adapter pmadapter , pmlan_ioctl_req pioctl_req ) { mlan_status status = MLAN_STATUS_SUCCESS ; mlan_ds_11ac_cfg * cfg = MNULL ; ENTER ( ) ; if ( pioctl_req -> buf_len < sizeof ( mlan_ds_11ac_cfg ) ) { PRINTM ( MINFO , " \n " ) ; pioctl_req -> data_read_written = 0 ; pioctl_req -> buf_len_needed = sizeof ( mlan_ds_11ac_cfg ) ; pioctl_req -> status_code = MLAN_ERROR_INVALID_PARAMETER ; LEAVE ( ) ; return MLAN_STATUS_RESOURCE ; } cfg = ( mlan_ds_11ac_cfg * ) pioctl_req -> pbuf ; switch ( cfg -> sub_command ) { case MLAN_OID_11AC_VHT_CFG : status = wlan_11ac_ioctl_vhtcfg ( pmadapter , pioctl_req ) ; break ; case MLAN_OID_11AC_CFG_SUPPORTED_MCS_SET : status = wlan_11ac_ioctl_supported_mcs_set ( pmadapter , pioctl_req ) ; break ; case MLAN_OID_11AC_OPERMODE_CFG : status = wlan_11ac_ioctl_opermodecfg ( pmadapter , pioctl_req ) ; break ; default : pioctl_req -> status_code = MLAN_ERROR_IOCTL_INVALID ; status = MLAN_STATUS_FAILURE ; break ; } LEAVE ( ) ; return status ; }
@brief 11ac configuration handler
  @param pmadapter    A pointer to mlan_adapter structure
  @param pioctl_req   A pointer to ioctl request buffer
@brief 11ac configuration handler @param pmadapter A pointer to mlan_adapter structure @param pioctl_req A pointer to ioctl request buffer