blob: 03b5ddb22cd757ef602cb5a20be39778b64ae9cc [file] [log] [blame]
/*****************************************************************************
(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;
}
}