188 lines
5.8 KiB
C
188 lines
5.8 KiB
C
/*****************************************************************************
|
|
|
|
(c) Cambridge Silicon Radio Limited 2012
|
|
All rights reserved and confidential information of CSR
|
|
|
|
Refer to LICENSE.txt included with this source for details
|
|
on the license terms.
|
|
|
|
*****************************************************************************/
|
|
|
|
/* Note: this is an auto-generated file. */
|
|
#include <linux/slab.h>
|
|
#include "csr_wifi_sme_prim.h"
|
|
#include "csr_wifi_sme_lib.h"
|
|
|
|
/*----------------------------------------------------------------------------*
|
|
* NAME
|
|
* CsrWifiSmeFreeDownstreamMessageContents
|
|
*
|
|
* DESCRIPTION
|
|
*
|
|
*
|
|
* PARAMETERS
|
|
* eventClass: only the value CSR_WIFI_SME_PRIM will be handled
|
|
* message: the message to free
|
|
*----------------------------------------------------------------------------*/
|
|
void CsrWifiSmeFreeDownstreamMessageContents(u16 eventClass, void *message)
|
|
{
|
|
if (eventClass != CSR_WIFI_SME_PRIM)
|
|
{
|
|
return;
|
|
}
|
|
if (NULL == message)
|
|
{
|
|
return;
|
|
}
|
|
|
|
switch (*((CsrWifiSmePrim *) message))
|
|
{
|
|
case CSR_WIFI_SME_BLACKLIST_REQ:
|
|
{
|
|
CsrWifiSmeBlacklistReq *p = (CsrWifiSmeBlacklistReq *)message;
|
|
kfree(p->setAddresses);
|
|
p->setAddresses = NULL;
|
|
break;
|
|
}
|
|
case CSR_WIFI_SME_CALIBRATION_DATA_SET_REQ:
|
|
{
|
|
CsrWifiSmeCalibrationDataSetReq *p = (CsrWifiSmeCalibrationDataSetReq *)message;
|
|
kfree(p->calibrationData);
|
|
p->calibrationData = NULL;
|
|
break;
|
|
}
|
|
case CSR_WIFI_SME_CONNECT_REQ:
|
|
{
|
|
CsrWifiSmeConnectReq *p = (CsrWifiSmeConnectReq *)message;
|
|
kfree(p->connectionConfig.mlmeAssociateReqInformationElements);
|
|
p->connectionConfig.mlmeAssociateReqInformationElements = NULL;
|
|
break;
|
|
}
|
|
case CSR_WIFI_SME_MIB_GET_NEXT_REQ:
|
|
{
|
|
CsrWifiSmeMibGetNextReq *p = (CsrWifiSmeMibGetNextReq *)message;
|
|
kfree(p->mibAttribute);
|
|
p->mibAttribute = NULL;
|
|
break;
|
|
}
|
|
case CSR_WIFI_SME_MIB_GET_REQ:
|
|
{
|
|
CsrWifiSmeMibGetReq *p = (CsrWifiSmeMibGetReq *)message;
|
|
kfree(p->mibAttribute);
|
|
p->mibAttribute = NULL;
|
|
break;
|
|
}
|
|
case CSR_WIFI_SME_MIB_SET_REQ:
|
|
{
|
|
CsrWifiSmeMibSetReq *p = (CsrWifiSmeMibSetReq *)message;
|
|
kfree(p->mibAttribute);
|
|
p->mibAttribute = NULL;
|
|
break;
|
|
}
|
|
case CSR_WIFI_SME_MULTICAST_ADDRESS_REQ:
|
|
{
|
|
CsrWifiSmeMulticastAddressReq *p = (CsrWifiSmeMulticastAddressReq *)message;
|
|
kfree(p->setAddresses);
|
|
p->setAddresses = NULL;
|
|
break;
|
|
}
|
|
case CSR_WIFI_SME_PACKET_FILTER_SET_REQ:
|
|
{
|
|
CsrWifiSmePacketFilterSetReq *p = (CsrWifiSmePacketFilterSetReq *)message;
|
|
kfree(p->filter);
|
|
p->filter = NULL;
|
|
break;
|
|
}
|
|
case CSR_WIFI_SME_PMKID_REQ:
|
|
{
|
|
CsrWifiSmePmkidReq *p = (CsrWifiSmePmkidReq *)message;
|
|
kfree(p->setPmkids);
|
|
p->setPmkids = NULL;
|
|
break;
|
|
}
|
|
case CSR_WIFI_SME_SCAN_CONFIG_SET_REQ:
|
|
{
|
|
CsrWifiSmeScanConfigSetReq *p = (CsrWifiSmeScanConfigSetReq *)message;
|
|
kfree(p->scanConfig.passiveChannelList);
|
|
p->scanConfig.passiveChannelList = NULL;
|
|
break;
|
|
}
|
|
case CSR_WIFI_SME_SCAN_FULL_REQ:
|
|
{
|
|
CsrWifiSmeScanFullReq *p = (CsrWifiSmeScanFullReq *)message;
|
|
kfree(p->ssid);
|
|
p->ssid = NULL;
|
|
kfree(p->channelList);
|
|
p->channelList = NULL;
|
|
kfree(p->probeIe);
|
|
p->probeIe = NULL;
|
|
break;
|
|
}
|
|
case CSR_WIFI_SME_TSPEC_REQ:
|
|
{
|
|
CsrWifiSmeTspecReq *p = (CsrWifiSmeTspecReq *)message;
|
|
kfree(p->tspec);
|
|
p->tspec = NULL;
|
|
kfree(p->tclas);
|
|
p->tclas = NULL;
|
|
break;
|
|
}
|
|
case CSR_WIFI_SME_WIFI_FLIGHTMODE_REQ:
|
|
{
|
|
CsrWifiSmeWifiFlightmodeReq *p = (CsrWifiSmeWifiFlightmodeReq *)message;
|
|
{
|
|
u16 i1;
|
|
for (i1 = 0; i1 < p->mibFilesCount; i1++)
|
|
{
|
|
kfree(p->mibFiles[i1].data);
|
|
p->mibFiles[i1].data = NULL;
|
|
}
|
|
}
|
|
kfree(p->mibFiles);
|
|
p->mibFiles = NULL;
|
|
break;
|
|
}
|
|
case CSR_WIFI_SME_WIFI_ON_REQ:
|
|
{
|
|
CsrWifiSmeWifiOnReq *p = (CsrWifiSmeWifiOnReq *)message;
|
|
{
|
|
u16 i1;
|
|
for (i1 = 0; i1 < p->mibFilesCount; i1++)
|
|
{
|
|
kfree(p->mibFiles[i1].data);
|
|
p->mibFiles[i1].data = NULL;
|
|
}
|
|
}
|
|
kfree(p->mibFiles);
|
|
p->mibFiles = NULL;
|
|
break;
|
|
}
|
|
case CSR_WIFI_SME_CLOAKED_SSIDS_SET_REQ:
|
|
{
|
|
CsrWifiSmeCloakedSsidsSetReq *p = (CsrWifiSmeCloakedSsidsSetReq *)message;
|
|
kfree(p->cloakedSsids.cloakedSsids);
|
|
p->cloakedSsids.cloakedSsids = NULL;
|
|
break;
|
|
}
|
|
case CSR_WIFI_SME_WPS_CONFIGURATION_REQ:
|
|
{
|
|
CsrWifiSmeWpsConfigurationReq *p = (CsrWifiSmeWpsConfigurationReq *)message;
|
|
kfree(p->wpsConfig.secondaryDeviceType);
|
|
p->wpsConfig.secondaryDeviceType = NULL;
|
|
break;
|
|
}
|
|
case CSR_WIFI_SME_SET_REQ:
|
|
{
|
|
CsrWifiSmeSetReq *p = (CsrWifiSmeSetReq *)message;
|
|
kfree(p->data);
|
|
p->data = NULL;
|
|
break;
|
|
}
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
|