packaging: release out (3.8.3)
[profile/ivi/kernel-adaptation-intel-automotive.git] / drivers / staging / csr / csr_wifi_nme_ap_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_nme_ap_prim.h"
14 #include "csr_wifi_nme_ap_lib.h"
15
16 /*----------------------------------------------------------------------------*
17  *  NAME
18  *      CsrWifiNmeApFreeDownstreamMessageContents
19  *
20  *  DESCRIPTION
21  *
22  *
23  *  PARAMETERS
24  *      eventClass: only the value CSR_WIFI_NME_AP_PRIM will be handled
25  *      message:    the message to free
26  *----------------------------------------------------------------------------*/
27 void CsrWifiNmeApFreeDownstreamMessageContents(u16 eventClass, void *message)
28 {
29     if (eventClass != CSR_WIFI_NME_AP_PRIM)
30     {
31         return;
32     }
33     if (NULL == message)
34     {
35         return;
36     }
37
38     switch (*((CsrWifiNmeApPrim *) message))
39     {
40         case CSR_WIFI_NME_AP_CONFIG_SET_REQ:
41         {
42             CsrWifiNmeApConfigSetReq *p = (CsrWifiNmeApConfigSetReq *)message;
43             kfree(p->apMacConfig.macAddressList);
44             p->apMacConfig.macAddressList = NULL;
45             break;
46         }
47         case CSR_WIFI_NME_AP_START_REQ:
48         {
49             CsrWifiNmeApStartReq *p = (CsrWifiNmeApStartReq *)message;
50             switch (p->apCredentials.authType)
51             {
52                 case CSR_WIFI_SME_AP_AUTH_TYPE_PERSONAL:
53                     switch (p->apCredentials.nmeAuthType.authTypePersonal.pskOrPassphrase)
54                     {
55                         case CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PASSPHRASE:
56                             kfree(p->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.passphrase.passphrase);
57                             p->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.passphrase.passphrase = NULL;
58                             break;
59                         default:
60                             break;
61                     }
62                     break;
63                 default:
64                     break;
65             }
66             {
67                 u16 i3;
68                 for (i3 = 0; i3 < p->p2pGoParam.operatingChanList.channelEntryListCount; i3++)
69                 {
70                     kfree(p->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannel);
71                     p->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannel = NULL;
72                 }
73             }
74             kfree(p->p2pGoParam.operatingChanList.channelEntryList);
75             p->p2pGoParam.operatingChanList.channelEntryList = NULL;
76             break;
77         }
78
79         default:
80             break;
81     }
82 }
83
84