xref: /wlan-dirver/qca-wifi-host-cmn/qdf/inc/qdf_status.h (revision 3149adf58a329e17232a4c0e58d460d025edd55a)
1 /*
2  * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved.
3  *
4  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5  *
6  * Permission to use, copy, modify, and/or distribute this software for
7  * any purpose with or without fee is hereby granted, provided that the
8  * above copyright notice and this permission notice appear in all
9  * copies.
10  *
11  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
12  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
13  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
14  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
15  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
16  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
17  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
18  * PERFORMANCE OF THIS SOFTWARE.
19  */
20 
21 /*
22  * This file was originally distributed by Qualcomm Atheros, Inc.
23  * under proprietary terms before Copyright ownership was assigned
24  * to the Linux Foundation.
25  */
26 
27 /**
28  * DOC: qdf_status
29  * QCA driver framework (QDF) status codes
30  * Basic status codes/definitions used by QDF
31  */
32 
33 #if !defined(__QDF_STATUS_H)
34 #define __QDF_STATUS_H
35 
36 /**
37  * typedef QDF_STATUS - QDF error codes
38  * @QDF_STATUS_SUCCESS: success
39  * @QDF_STATUS_E_RESOURCES: system resource(other than memory) not available
40  * @QDF_STATUS_E_NOMEM: not enough memory
41  * @QDF_STATUS_E_AGAIN: try again
42  * @QDF_STATUS_E_INVAL: invalid request
43  * @QDF_STATUS_E_FAULT: system fault
44  * @QDF_STATUS_E_ALREADY: another request already in progress
45  * @QDF_STATUS_E_BADMSG: bad message
46  * @QDF_STATUS_E_BUSY: device or resource busy
47  * @QDF_STATUS_E_CANCELED: request cancelled
48  * @QDF_STATUS_E_ABORTED: request aborted
49  * @QDF_STATUS_E_NOSUPPORT: request not supported
50  * @QDF_STATUS_E_PERM: operation not permitted
51  * @QDF_STATUS_E_EMPTY: empty condition
52  * @QDF_STATUS_E_EXISTS: existence failure
53  * @QDF_STATUS_E_TIMEOUT: operation timeout
54  * @QDF_STATUS_E_FAILURE: unknown reason do not use unless nothign else applies
55  * @QDF_STATUS_E_NOENT: No such file or directory
56  * @QDF_STATUS_E_E2BIG: Arg list too long
57  * @QDF_STATUS_E_NOSPC: no space left on device
58  * @QDF_STATUS_E_ADDRNOTAVAIL: Cannot assign requested address
59  * @QDF_STATUS_E_ENXIO: No such device or address
60  * @QDF_STATUS_E_NETDOWN: network is down
61  * @QDF_STATUS_E_IO: I/O Error
62  * @QDF_STATUS_E_PENDING: pending status
63  * @QDF_STATUS_E_NETRESET: Network dropped connection because of reset
64  * @QDF_STATUS_E_SIG: Exit due to received SIGINT
65  * @QDF_STATUS_E_PROTO: protocol error
66  * @QDF_STATUS_NOT_INITIALIZED: resource not initialized
67  * @QDF_STATUS_E_NULL_VALUE: request is null
68  * @QDF_STATUS_PMC_PENDING: request pendign in pmc
69  * @QDF_STATUS_PMC_DISABLED: pmc is disabled
70  * @QDF_STATUS_PMC_NOT_NOW: pmc not ready now
71  * @QDF_STATUS_PMC_AC_POWER: pmc ac power
72  * @QDF_STATUS_PMC_SYS_ERROR: pmc system error
73  * @QDF_STATUS_HEARTBEAT_TMOUT: hearbeat timeout error
74  * @QDF_STATUS_NTH_BEACON_DELIVERY: Nth beacon delivery
75  * @QDF_STATUS_CSR_WRONG_STATE: csr in wrong state
76  * @QDF_STATUS_FT_PREAUTH_KEY_SUCCESS: ft preauth key success
77  * @QDF_STATUS_FT_PREAUTH_KEY_FAILED: ft preauth key failed
78  * @QDF_STATUS_CMD_NOT_QUEUED: command not queued
79  * @QDF_STATUS_FW_MSG_TIMEDOUT: target message timeout
80  * @QDF_STATUS_E_USB_ERROR: USB transaction error
81  * @QDF_STATUS_MAXCOMP_FAIL: Component id is more than MAX UMAC components
82  * @QDF_STATUS_COMP_DISABLED: UMAC Component is disabled
83  * @QDF_STATUS_COMP_ASYNC: UMAC component runs in asynchronous communication
84  * @QDF_STATUS_CRYPTO_PN_ERROR: PN ERROR in received frame
85  * @QDF_STATUS_CRYPTO_MIC_FAILURE: MIC failure in received frame
86  * @QDF_STATUS_CRYPTO_ENCRYPT_FAILED: encryption failed
87  * @QDF_STATUS_CRYPTO_DECRYPT_FAILED: decryption failed
88  * @QDF_STATUS_E_RANGE: result/parameter/operation was out of range
89  * @QDF_STATUS_MAX: not a realy value just a place holder for max
90  */
91 typedef enum {
92 	QDF_STATUS_SUCCESS,
93 	QDF_STATUS_E_RESOURCES,
94 	QDF_STATUS_E_NOMEM,
95 	QDF_STATUS_E_AGAIN,
96 	QDF_STATUS_E_INVAL,
97 	QDF_STATUS_E_FAULT,
98 	QDF_STATUS_E_ALREADY,
99 	QDF_STATUS_E_BADMSG,
100 	QDF_STATUS_E_BUSY,
101 	QDF_STATUS_E_CANCELED,
102 	QDF_STATUS_E_ABORTED,
103 	QDF_STATUS_E_NOSUPPORT,
104 	QDF_STATUS_E_PERM,
105 	QDF_STATUS_E_EMPTY,
106 	QDF_STATUS_E_EXISTS,
107 	QDF_STATUS_E_TIMEOUT,
108 	QDF_STATUS_E_FAILURE,
109 	QDF_STATUS_E_NOENT,
110 	QDF_STATUS_E_E2BIG,
111 	QDF_STATUS_E_NOSPC,
112 	QDF_STATUS_E_ADDRNOTAVAIL,
113 	QDF_STATUS_E_ENXIO,
114 	QDF_STATUS_E_NETDOWN,
115 	QDF_STATUS_E_IO,
116 	QDF_STATUS_E_PENDING,
117 	QDF_STATUS_E_NETRESET,
118 	QDF_STATUS_E_SIG,
119 	QDF_STATUS_E_PROTO,
120 	QDF_STATUS_NOT_INITIALIZED,
121 	QDF_STATUS_E_NULL_VALUE,
122 	QDF_STATUS_PMC_PENDING,
123 	QDF_STATUS_PMC_DISABLED,
124 	QDF_STATUS_PMC_NOT_NOW,
125 	QDF_STATUS_PMC_AC_POWER,
126 	QDF_STATUS_PMC_SYS_ERROR,
127 	QDF_STATUS_HEARTBEAT_TMOUT,
128 	QDF_STATUS_NTH_BEACON_DELIVERY,
129 	QDF_STATUS_CSR_WRONG_STATE,
130 	QDF_STATUS_FT_PREAUTH_KEY_SUCCESS,
131 	QDF_STATUS_FT_PREAUTH_KEY_FAILED,
132 	QDF_STATUS_CMD_NOT_QUEUED,
133 	QDF_STATUS_FW_MSG_TIMEDOUT,
134 	QDF_STATUS_E_USB_ERROR,
135 	QDF_STATUS_MAXCOMP_FAIL,
136 	QDF_STATUS_COMP_DISABLED,
137 	QDF_STATUS_COMP_ASYNC,
138 	QDF_STATUS_CRYPTO_PN_ERROR,
139 	QDF_STATUS_CRYPTO_MIC_FAILURE,
140 	QDF_STATUS_CRYPTO_ENCRYPT_FAILED,
141 	QDF_STATUS_CRYPTO_DECRYPT_FAILED,
142 	QDF_STATUS_E_DEFRAG_ERROR,
143 	QDF_STATUS_E_RANGE,
144 	QDF_STATUS_MAX
145 } QDF_STATUS;
146 
147 #define QDF_IS_STATUS_SUCCESS(status) (QDF_STATUS_SUCCESS == (status))
148 #define QDF_IS_STATUS_ERROR(status) (QDF_STATUS_SUCCESS != (status))
149 
150 #endif /* if !defined __QDF_STATUS_H */
151