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
;