blob: 9b452253e2e0f45b3f2b142af068463e5e923595 [file] [log] [blame]
/*
* Copyright (c) 2012 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all
* copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/*
* This file was originally distributed by Qualcomm Atheros, Inc.
* under proprietary terms before Copyright ownership was assigned
* to the Linux Foundation.
*/
/*===========================================================================
*
* @file: wlan_status_code.h
*
* @brief: Common header file containing all the status codes
* All status codes have been consolidated into one enum
*
* @author: Kumar Anand
*
*=========================================================================*/
#ifndef __WLAN_STATUS_CODE_H__
#define __WLAN_STATUS_CODE_H__
/*-------------------------------------------------------------------------
Include Files
-------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
* Preprocessor Definitions and Constants
* -------------------------------------------------------------------------*/
/* This is to force compiler to use the maximum of an int ( 4 bytes ) */
#define WLAN_STATUS_MAX_ENUM_SIZE 0x7FFFFFFF
/*----------------------------------------------------------------------------
* Type Declarations
* -------------------------------------------------------------------------*/
typedef enum
{
/* PAL Request succeeded!*/
PAL_STATUS_SUCCESS = 0,
/* HAL Request succeeded!*/
eHAL_STATUS_SUCCESS = 0,
/* Request failed because there of an invalid request. This is
typically the result of invalid parameters on the request*/
PAL_STATUS_INVAL,
/* Request refused because a request is already in place and
another cannot be handled currently */
PAL_STATUS_ALREADY,
/* Request failed because of an empty condition */
PAL_STATUS_EMPTY,
/* Request failed for some unknown reason. */
PAL_STATUS_FAILURE,
/* HAL general failure */
eHAL_STATUS_FAILURE,
/* Invalid Param*/
eHAL_STATUS_INVALID_PARAMETER,
/* Invalid Station Index*/
eHAL_STATUS_INVALID_STAIDX,
/* DPU descriptor table full*/
eHAL_STATUS_DPU_DESCRIPTOR_TABLE_FULL,
/* No interrupts */
eHAL_STATUS_NO_INTERRUPTS,
/* Interrupt present */
eHAL_STATUS_INTERRUPT_PRESENT,
/* Stable Table is full */
eHAL_STATUS_STA_TABLE_FULL,
/* Duplicate Station found */
eHAL_STATUS_DUPLICATE_STA,
/* BSSID is invalid */
eHAL_STATUS_BSSID_INVALID,
/* STA is invalid */
eHAL_STATUS_STA_INVALID,
/* BSSID is is duplicate */
eHAL_STATUS_DUPLICATE_BSSID,
/* BSS Idx is invalid */
eHAL_STATUS_INVALID_BSSIDX,
/* BSSID Table is full */
eHAL_STATUS_BSSID_TABLE_FULL,
/* Invalid DPU signature*/
eHAL_STATUS_INVALID_SIGNATURE,
/* Invalid key Id */
eHAL_STATUS_INVALID_KEYID,
/* Already on requested channel */
eHAL_STATUS_SET_CHAN_ALREADY_ON_REQUESTED_CHAN,
/* UMA descriptor table is full */
eHAL_STATUS_UMA_DESCRIPTOR_TABLE_FULL,
/* MIC Key table is full */
eHAL_STATUS_DPU_MICKEY_TABLE_FULL,
/* A-MPDU/BA related Error codes */
eHAL_STATUS_BA_RX_BUFFERS_FULL,
eHAL_STATUS_BA_RX_MAX_SESSIONS_REACHED,
eHAL_STATUS_BA_RX_INVALID_SESSION_ID,
eHAL_STATUS_TIMER_START_FAILED,
eHAL_STATUS_TIMER_STOP_FAILED,
eHAL_STATUS_FAILED_ALLOC,
/* Scan failure codes */
eHAL_STATUS_NOTIFY_BSS_FAIL,
/* Self STA not deleted as reference count is not zero */
eHAL_STATUS_DEL_STA_SELF_IGNORED_REF_COUNT_NOT_ZERO,
/* Self STA not added as entry already exists*/
eHAL_STATUS_ADD_STA_SELF_IGNORED_REF_COUNT_NOT_ZERO,
/* Message from SLM has failure status */
eHAL_STATUS_FW_SEND_MSG_FAILED,
/* BSS disconnect status : beacon miss */
eHAL_STATUS_BSS_DISCONN_BEACON_MISS,
/* BSS disconnect status : deauth */
eHAL_STATUS_BSS_DISCONN_DEAUTH,
/* BSS disconnect status : disassoc */
eHAL_STATUS_BSS_DISCONN_DISASSOC,
/* Data abort happened in PHY sw */
eHAL_STATUS_PHY_DATA_ABORT,
/* Invalid NV field */
eHAL_STATUS_PHY_INVALID_NV_FIELD,
/* WLAN boot test failed */
eHAL_STATUS_WLAN_BOOT_TEST_FAILURE,
/* Max status value */
eHAL_STATUS_MAX_VALUE = WLAN_STATUS_MAX_ENUM_SIZE
} palStatus, eHalStatus;
/* Helper Macros */
#define PAL_IS_STATUS_SUCCESS(status) (PAL_STATUS_SUCCESS == (status))
#define HAL_STATUS_SUCCESS( status ) (eHAL_STATUS_SUCCESS == (status))
#endif //__WLAN_STATUS_CODE_H__