1 /*****************************************************************************
3 (c) Cambridge Silicon Radio Limited 2012
4 All rights reserved and confidential information of CSR
6 Refer to LICENSE.txt included with this source for details
9 *****************************************************************************/
11 /* Note: this is an auto-generated file. */
12 #include <linux/slab.h>
13 #include "csr_wifi_sme_prim.h"
14 #include "csr_wifi_sme_lib.h"
16 /*----------------------------------------------------------------------------*
18 * CsrWifiSmeFreeDownstreamMessageContents
24 * eventClass: only the value CSR_WIFI_SME_PRIM will be handled
25 * message: the message to free
26 *----------------------------------------------------------------------------*/
27 void CsrWifiSmeFreeDownstreamMessageContents(u16 eventClass, void *message)
29 if (eventClass != CSR_WIFI_SME_PRIM)
38 switch (*((CsrWifiSmePrim *) message))
40 case CSR_WIFI_SME_BLACKLIST_REQ:
42 CsrWifiSmeBlacklistReq *p = (CsrWifiSmeBlacklistReq *)message;
43 kfree(p->setAddresses);
44 p->setAddresses = NULL;
47 case CSR_WIFI_SME_CALIBRATION_DATA_SET_REQ:
49 CsrWifiSmeCalibrationDataSetReq *p = (CsrWifiSmeCalibrationDataSetReq *)message;
50 kfree(p->calibrationData);
51 p->calibrationData = NULL;
54 case CSR_WIFI_SME_CONNECT_REQ:
56 CsrWifiSmeConnectReq *p = (CsrWifiSmeConnectReq *)message;
57 kfree(p->connectionConfig.mlmeAssociateReqInformationElements);
58 p->connectionConfig.mlmeAssociateReqInformationElements = NULL;
61 case CSR_WIFI_SME_MIB_GET_NEXT_REQ:
63 CsrWifiSmeMibGetNextReq *p = (CsrWifiSmeMibGetNextReq *)message;
64 kfree(p->mibAttribute);
65 p->mibAttribute = NULL;
68 case CSR_WIFI_SME_MIB_GET_REQ:
70 CsrWifiSmeMibGetReq *p = (CsrWifiSmeMibGetReq *)message;
71 kfree(p->mibAttribute);
72 p->mibAttribute = NULL;
75 case CSR_WIFI_SME_MIB_SET_REQ:
77 CsrWifiSmeMibSetReq *p = (CsrWifiSmeMibSetReq *)message;
78 kfree(p->mibAttribute);
79 p->mibAttribute = NULL;
82 case CSR_WIFI_SME_MULTICAST_ADDRESS_REQ:
84 CsrWifiSmeMulticastAddressReq *p = (CsrWifiSmeMulticastAddressReq *)message;
85 kfree(p->setAddresses);
86 p->setAddresses = NULL;
89 case CSR_WIFI_SME_PACKET_FILTER_SET_REQ:
91 CsrWifiSmePacketFilterSetReq *p = (CsrWifiSmePacketFilterSetReq *)message;
96 case CSR_WIFI_SME_PMKID_REQ:
98 CsrWifiSmePmkidReq *p = (CsrWifiSmePmkidReq *)message;
103 case CSR_WIFI_SME_SCAN_CONFIG_SET_REQ:
105 CsrWifiSmeScanConfigSetReq *p = (CsrWifiSmeScanConfigSetReq *)message;
106 kfree(p->scanConfig.passiveChannelList);
107 p->scanConfig.passiveChannelList = NULL;
110 case CSR_WIFI_SME_SCAN_FULL_REQ:
112 CsrWifiSmeScanFullReq *p = (CsrWifiSmeScanFullReq *)message;
115 kfree(p->channelList);
116 p->channelList = NULL;
121 case CSR_WIFI_SME_TSPEC_REQ:
123 CsrWifiSmeTspecReq *p = (CsrWifiSmeTspecReq *)message;
130 case CSR_WIFI_SME_WIFI_FLIGHTMODE_REQ:
132 CsrWifiSmeWifiFlightmodeReq *p = (CsrWifiSmeWifiFlightmodeReq *)message;
135 for (i1 = 0; i1 < p->mibFilesCount; i1++)
137 kfree(p->mibFiles[i1].data);
138 p->mibFiles[i1].data = NULL;
145 case CSR_WIFI_SME_WIFI_ON_REQ:
147 CsrWifiSmeWifiOnReq *p = (CsrWifiSmeWifiOnReq *)message;
150 for (i1 = 0; i1 < p->mibFilesCount; i1++)
152 kfree(p->mibFiles[i1].data);
153 p->mibFiles[i1].data = NULL;
160 case CSR_WIFI_SME_CLOAKED_SSIDS_SET_REQ:
162 CsrWifiSmeCloakedSsidsSetReq *p = (CsrWifiSmeCloakedSsidsSetReq *)message;
163 kfree(p->cloakedSsids.cloakedSsids);
164 p->cloakedSsids.cloakedSsids = NULL;
167 case CSR_WIFI_SME_WPS_CONFIGURATION_REQ:
169 CsrWifiSmeWpsConfigurationReq *p = (CsrWifiSmeWpsConfigurationReq *)message;
170 kfree(p->wpsConfig.secondaryDeviceType);
171 p->wpsConfig.secondaryDeviceType = NULL;
174 case CSR_WIFI_SME_SET_REQ:
176 CsrWifiSmeSetReq *p = (CsrWifiSmeSetReq *)message;