Merge branch 'omap-serial' of git://git.linaro.org/people/rmk/linux-arm
[firefly-linux-kernel-4.4.55.git] / drivers / staging / csr / csr_wifi_sme_free_downstream_contents.c
1 /*****************************************************************************
2
3             (c) Cambridge Silicon Radio Limited 2012
4             All rights reserved and confidential information of CSR
5
6             Refer to LICENSE.txt included with this source for details
7             on the license terms.
8
9 *****************************************************************************/
10
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"
15
16 /*----------------------------------------------------------------------------*
17  *  NAME
18  *      CsrWifiSmeFreeDownstreamMessageContents
19  *
20  *  DESCRIPTION
21  *
22  *
23  *  PARAMETERS
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)
28 {
29     if (eventClass != CSR_WIFI_SME_PRIM)
30     {
31         return;
32     }
33     if (NULL == message)
34     {
35         return;
36     }
37
38     switch (*((CsrWifiSmePrim *) message))
39     {
40         case CSR_WIFI_SME_BLACKLIST_REQ:
41         {
42             CsrWifiSmeBlacklistReq *p = (CsrWifiSmeBlacklistReq *)message;
43             kfree(p->setAddresses);
44             p->setAddresses = NULL;
45             break;
46         }
47         case CSR_WIFI_SME_CALIBRATION_DATA_SET_REQ:
48         {
49             CsrWifiSmeCalibrationDataSetReq *p = (CsrWifiSmeCalibrationDataSetReq *)message;
50             kfree(p->calibrationData);
51             p->calibrationData = NULL;
52             break;
53         }
54         case CSR_WIFI_SME_CONNECT_REQ:
55         {
56             CsrWifiSmeConnectReq *p = (CsrWifiSmeConnectReq *)message;
57             kfree(p->connectionConfig.mlmeAssociateReqInformationElements);
58             p->connectionConfig.mlmeAssociateReqInformationElements = NULL;
59             break;
60         }
61         case CSR_WIFI_SME_MIB_GET_NEXT_REQ:
62         {
63             CsrWifiSmeMibGetNextReq *p = (CsrWifiSmeMibGetNextReq *)message;
64             kfree(p->mibAttribute);
65             p->mibAttribute = NULL;
66             break;
67         }
68         case CSR_WIFI_SME_MIB_GET_REQ:
69         {
70             CsrWifiSmeMibGetReq *p = (CsrWifiSmeMibGetReq *)message;
71             kfree(p->mibAttribute);
72             p->mibAttribute = NULL;
73             break;
74         }
75         case CSR_WIFI_SME_MIB_SET_REQ:
76         {
77             CsrWifiSmeMibSetReq *p = (CsrWifiSmeMibSetReq *)message;
78             kfree(p->mibAttribute);
79             p->mibAttribute = NULL;
80             break;
81         }
82         case CSR_WIFI_SME_MULTICAST_ADDRESS_REQ:
83         {
84             CsrWifiSmeMulticastAddressReq *p = (CsrWifiSmeMulticastAddressReq *)message;
85             kfree(p->setAddresses);
86             p->setAddresses = NULL;
87             break;
88         }
89         case CSR_WIFI_SME_PACKET_FILTER_SET_REQ:
90         {
91             CsrWifiSmePacketFilterSetReq *p = (CsrWifiSmePacketFilterSetReq *)message;
92             kfree(p->filter);
93             p->filter = NULL;
94             break;
95         }
96         case CSR_WIFI_SME_PMKID_REQ:
97         {
98             CsrWifiSmePmkidReq *p = (CsrWifiSmePmkidReq *)message;
99             kfree(p->setPmkids);
100             p->setPmkids = NULL;
101             break;
102         }
103         case CSR_WIFI_SME_SCAN_CONFIG_SET_REQ:
104         {
105             CsrWifiSmeScanConfigSetReq *p = (CsrWifiSmeScanConfigSetReq *)message;
106             kfree(p->scanConfig.passiveChannelList);
107             p->scanConfig.passiveChannelList = NULL;
108             break;
109         }
110         case CSR_WIFI_SME_SCAN_FULL_REQ:
111         {
112             CsrWifiSmeScanFullReq *p = (CsrWifiSmeScanFullReq *)message;
113             kfree(p->ssid);
114             p->ssid = NULL;
115             kfree(p->channelList);
116             p->channelList = NULL;
117             kfree(p->probeIe);
118             p->probeIe = NULL;
119             break;
120         }
121         case CSR_WIFI_SME_TSPEC_REQ:
122         {
123             CsrWifiSmeTspecReq *p = (CsrWifiSmeTspecReq *)message;
124             kfree(p->tspec);
125             p->tspec = NULL;
126             kfree(p->tclas);
127             p->tclas = NULL;
128             break;
129         }
130         case CSR_WIFI_SME_WIFI_FLIGHTMODE_REQ:
131         {
132             CsrWifiSmeWifiFlightmodeReq *p = (CsrWifiSmeWifiFlightmodeReq *)message;
133             {
134                 u16 i1;
135                 for (i1 = 0; i1 < p->mibFilesCount; i1++)
136                 {
137                     kfree(p->mibFiles[i1].data);
138                     p->mibFiles[i1].data = NULL;
139                 }
140             }
141             kfree(p->mibFiles);
142             p->mibFiles = NULL;
143             break;
144         }
145         case CSR_WIFI_SME_WIFI_ON_REQ:
146         {
147             CsrWifiSmeWifiOnReq *p = (CsrWifiSmeWifiOnReq *)message;
148             {
149                 u16 i1;
150                 for (i1 = 0; i1 < p->mibFilesCount; i1++)
151                 {
152                     kfree(p->mibFiles[i1].data);
153                     p->mibFiles[i1].data = NULL;
154                 }
155             }
156             kfree(p->mibFiles);
157             p->mibFiles = NULL;
158             break;
159         }
160         case CSR_WIFI_SME_CLOAKED_SSIDS_SET_REQ:
161         {
162             CsrWifiSmeCloakedSsidsSetReq *p = (CsrWifiSmeCloakedSsidsSetReq *)message;
163             kfree(p->cloakedSsids.cloakedSsids);
164             p->cloakedSsids.cloakedSsids = NULL;
165             break;
166         }
167         case CSR_WIFI_SME_WPS_CONFIGURATION_REQ:
168         {
169             CsrWifiSmeWpsConfigurationReq *p = (CsrWifiSmeWpsConfigurationReq *)message;
170             kfree(p->wpsConfig.secondaryDeviceType);
171             p->wpsConfig.secondaryDeviceType = NULL;
172             break;
173         }
174         case CSR_WIFI_SME_SET_REQ:
175         {
176             CsrWifiSmeSetReq *p = (CsrWifiSmeSetReq *)message;
177             kfree(p->data);
178             p->data = NULL;
179             break;
180         }
181
182         default:
183             break;
184     }
185 }
186
187