diff options
| author | Jeff Johnson <jjohnson@qca.qualcomm.com> | 2014-08-20 17:02:02 -0700 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-10-02 13:08:12 -0700 |
| commit | 67d17409809efdf0cee4b3e10fe382bfc804164e (patch) | |
| tree | 0b443305298cc0e14eab9d3a2d0ca5ea57f9de2a /CORE/BAP/src/bapModule.c | |
| parent | 744c335b5a2bc5150326c550e737f07f731c319e (diff) | |
qcacld: Remove obsolete BT-AMP support
The BT-AMP functionality is not being supported so remove the code.
Change-Id: Ic58dbed66f17c24b7c26f7f3b0874e90c8104c3f
CRs-fixed: 712598
Diffstat (limited to 'CORE/BAP/src/bapModule.c')
| -rw-r--r-- | CORE/BAP/src/bapModule.c | 1405 |
1 files changed, 0 insertions, 1405 deletions
diff --git a/CORE/BAP/src/bapModule.c b/CORE/BAP/src/bapModule.c deleted file mode 100644 index bb52a4af8fa0..000000000000 --- a/CORE/BAP/src/bapModule.c +++ /dev/null @@ -1,1405 +0,0 @@ -/* - * Copyright (c) 2012-2014 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. - */ - -/*=========================================================================== - - b a p M o d u l e . C - - OVERVIEW: - - This software unit holds the implementation of the WLAN BAP modules - Module support functions. It is also where the global BAP module - context, and per-instance (returned in BAP_Open device open) contexts. - - The functions externalized by this module are to be called by the device - specific BAP Shim Layer (BSL) (in HDD) which implements a stream device on a - particular platform. - - DEPENDENCIES: - - Are listed for each API below. -===========================================================================*/ - -/*=========================================================================== - - EDIT HISTORY FOR FILE - - - This section contains comments describing changes made to the module. - Notice that changes are listed in reverse chronological order. - - - $Header: /home/labuser/ampBlueZ_2/CORE/BAP/src/bapModule.c,v 1.1 2010/07/12 19:05:35 labuser Exp labuser $$DateTime$$Author: labuser $ - - - when who what, where, why ----------- --- -------------------------------------------------------- -2008-09-15 jez Created module - -===========================================================================*/ - -/*---------------------------------------------------------------------------- - * Include Files - * -------------------------------------------------------------------------*/ -// Pull in some message types used by BTC -#include "sirParams.h" -//#include "halFwApi.h" - -#include "wlan_qct_tl.h" -#include "vos_trace.h" -// Pick up the sme callback registration API -#include "sme_Api.h" -#include "ccmApi.h" - -/* BT-AMP PAL API header file */ -#include "bapApi.h" -#include "bapInternal.h" - -// Pick up the BTAMP RSN definitions -#include "bapRsnTxRx.h" -//#include "assert.h" -#include "bapApiTimer.h" - -#if defined(ANI_OS_TYPE_ANDROID) -#include "bap_hdd_main.h" -#endif - -//#define BAP_DEBUG -/*---------------------------------------------------------------------------- - * Preprocessor Definitions and Constants - * -------------------------------------------------------------------------*/ -//#define VOS_GET_BAP_CB(ctx) vos_get_context( VOS_MODULE_ID_BAP, ctx) - - -/*---------------------------------------------------------------------------- - * Type Declarations - * -------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - * Global Data Definitions - * -------------------------------------------------------------------------*/ -// include the phy link state machine structure here -static tWLAN_BAPbapPhysLinkMachine bapPhysLinkMachineInitial - = BTAMPFSM_INSTANCEDATA_INIT; - -/*---------------------------------------------------------------------------- - * External declarations for global context - * -------------------------------------------------------------------------*/ -// No! Get this from VOS. -// The main per-Physical Link (per WLAN association) context. -//tBtampContext btampCtx; -ptBtampContext gpBtampCtx; - -// Include the Local AMP Info structure. -tBtampHCI_AMP_Info btampHCI_AMP_Info; -// Include the Local Data Block Size info structure. -tBtampHCI_Data_Block_Size btampHCI_Data_Block_Size; -// Include the Local Version info structure. -tBtampHCI_Version_Info btampHCI_Version_Info; -// Include the Local Supported Cmds info structure. -tBtampHCI_Supported_Cmds btampHCI_Supported_Cmds; - -static unsigned char pBtStaOwnMacAddr[VOS_MAC_ADDR_SIZE]; - - /*BT-AMP SSID; per spec should have this format: "AMP-00-0a-f5-04-05-08" */ -#define WLAN_BAP_SSID_MAX_LEN 21 -static char pBtStaOwnSsid[WLAN_BAP_SSID_MAX_LEN]; - -/*---------------------------------------------------------------------------- - * Static Variable Definitions - * -------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - * Static Function Declarations and Definitions - * -------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - * Externalized Function Definitions -* -------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - * Function Declarations and Documentation - * -------------------------------------------------------------------------*/ - -/*========================================================================== - - FUNCTION WLANBAP_Open - - DESCRIPTION - Called at driver initialization (vos_open). BAP will initialize - all its internal resources and will wait for the call to start to - register with the other modules. - - DEPENDENCIES - - PARAMETERS - - IN - pvosGCtx: pointer to the global vos context; a handle to BAP's - control block can be extracted from its context - - RETURN VALUE - The result code associated with performing the operation - - VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page - fault - VOS_STATUS_SUCCESS: Everything is good :) - - SIDE EFFECTS - -============================================================================*/ -VOS_STATUS -WLANBAP_Open -( - v_PVOID_t pvosGCtx -) -{ - ptBtampContext pBtampCtx = NULL; - /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ - - /*------------------------------------------------------------------------ - Allocate (and sanity check?!) BAP control block - ------------------------------------------------------------------------*/ - vos_alloc_context(pvosGCtx, VOS_MODULE_ID_BAP, (v_VOID_t**)&pBtampCtx, sizeof(tBtampContext)); - - pBtampCtx = VOS_GET_BAP_CB(pvosGCtx); - if ( NULL == pBtampCtx ) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "Invalid BAP pointer from pvosGCtx on WLANBAP_Open"); - //"Failed to allocate BAP pointer from pvosGCtx on WLANBAP_Open"); - return VOS_STATUS_E_FAULT; - } - - /*------------------------------------------------------------------------ - Clean up BAP control block, initialize all values - ------------------------------------------------------------------------*/ - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, "WLANBAP_Open"); - - WLANBAP_CleanCB(pBtampCtx, 0 /*do not empty*/); - - // Setup the "link back" to the VOSS context - pBtampCtx->pvosGCtx = pvosGCtx; - - // Store a pointer to the BAP context provided by VOSS - gpBtampCtx = pBtampCtx; - - /*------------------------------------------------------------------------ - Allocate internal resources - ------------------------------------------------------------------------*/ - - return VOS_STATUS_SUCCESS; -}/* WLANBAP_Open */ - - -/*========================================================================== - - FUNCTION WLANBAP_Start - - DESCRIPTION - Called as part of the overall start procedure (vos_start). BAP will - use this call to register with TL as the BAP entity for - BT-AMP RSN frames. - - DEPENDENCIES - - PARAMETERS - - IN - pvosGCtx: pointer to the global vos context; a handle to BAP's - control block can be extracted from its context - - RETURN VALUE - The result code associated with performing the operation - - VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page - fault - VOS_STATUS_SUCCESS: Everything is good :) - - Other codes can be returned as a result of a BAL failure; - - SIDE EFFECTS - -============================================================================*/ -VOS_STATUS -WLANBAP_Start -( - v_PVOID_t pvosGCtx -) -{ - ptBtampContext pBtampCtx = NULL; - VOS_STATUS vosStatus; - /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ - - /*------------------------------------------------------------------------ - Sanity check - Extract BAP control block - ------------------------------------------------------------------------*/ - pBtampCtx = VOS_GET_BAP_CB(pvosGCtx); - if ( NULL == pBtampCtx ) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "Invalid BAP pointer from pvosGCtx on WLANBAP_Start"); - return VOS_STATUS_E_FAULT; - } - - /*------------------------------------------------------------------------ - Register with TL as an BT-AMP RSN client - ------------------------------------------------------------------------*/ - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, "WLANBAP_Start TL register"); - - /*------------------------------------------------------------------------ - Register with CSR for Roam (connection status) Events - ------------------------------------------------------------------------*/ - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, "WLANBAP_Start CSR Register"); - - - /* Initialize the BAP Tx packet monitor timer */ - WLANBAP_InitConnectionAcceptTimer (pBtampCtx ); - WLANBAP_InitLinkSupervisionTimer(pBtampCtx); - - vosStatus = vos_timer_init( - &pBtampCtx->bapTxPktMonitorTimer, - VOS_TIMER_TYPE_SW, /* use this type */ - WLANBAP_TxPacketMonitorHandler, - pBtampCtx); - - vosStatus = vos_lock_init(&pBtampCtx->bapLock); - if(!VOS_IS_STATUS_SUCCESS(vosStatus)) - { - VOS_TRACE(VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR,"Lock Init Fail"); - } - - return vosStatus; -}/* WLANBAP_Start */ - -/*========================================================================== - - FUNCTION WLANBAP_Stop - - DESCRIPTION - Called by vos_stop to stop operation in BAP, before close. BAP will suspend all - BT-AMP Protocol Adaption Layer operation and will wait for the close - request to clean up its resources. - - DEPENDENCIES - - PARAMETERS - - IN - pvosGCtx: pointer to the global vos context; a handle to BAP's - control block can be extracted from its context - - RETURN VALUE - The result code associated with performing the operation - - VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page - fault - VOS_STATUS_SUCCESS: Everything is good :) - - SIDE EFFECTS - -============================================================================*/ -VOS_STATUS -WLANBAP_Stop -( - v_PVOID_t pvosGCtx -) -{ - ptBtampContext pBtampCtx = NULL; - VOS_STATUS vosStatus = VOS_STATUS_SUCCESS; - /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ - - /*------------------------------------------------------------------------ - Sanity check - Extract BAP control block - ------------------------------------------------------------------------*/ - pBtampCtx = VOS_GET_BAP_CB(pvosGCtx); - if ( NULL == pBtampCtx ) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "Invalid BAP pointer from pvosGCtx on WLANBAP_Stop"); - return VOS_STATUS_E_FAULT; - } - - /*------------------------------------------------------------------------ - Stop BAP (de-register RSN handler!?) - ------------------------------------------------------------------------*/ - vosStatus = WLANBAP_DeinitConnectionAcceptTimer(pBtampCtx); - if ( VOS_STATUS_SUCCESS != vosStatus) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "Couldn't destroy bapConnectionAcceptTimer"); - } - - vosStatus = WLANBAP_DeinitLinkSupervisionTimer(pBtampCtx); - if ( VOS_STATUS_SUCCESS != vosStatus) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "Couldn't destroy bapLinkSupervisionTimer"); - } - - vosStatus = vos_timer_destroy ( - &pBtampCtx->bapTxPktMonitorTimer ); - if ( VOS_STATUS_SUCCESS != vosStatus) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "Couldn't destroy bapTxPktMonitorTimer"); - } - vos_lock_destroy(&pBtampCtx->bapLock); - return VOS_STATUS_SUCCESS; -}/* WLANBAP_Stop */ - -/*========================================================================== - - FUNCTION WLANBAP_Close - - DESCRIPTION - Called by vos_close during general driver close procedure. BAP will clean up - all the internal resources. - - DEPENDENCIES - - PARAMETERS - - IN - pvosGCtx: pointer to the global vos context; a handle to BAP's - control block can be extracted from its context - - RETURN VALUE - The result code associated with performing the operation - - VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page - fault - VOS_STATUS_SUCCESS: Everything is good :) - - SIDE EFFECTS - -============================================================================*/ -VOS_STATUS -WLANBAP_Close -( - v_PVOID_t pvosGCtx -) -{ - ptBtampContext pBtampCtx = NULL; - /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ - - /*------------------------------------------------------------------------ - Sanity check - Extract BAP control block - ------------------------------------------------------------------------*/ - pBtampCtx = VOS_GET_BAP_CB(pvosGCtx); - if ( NULL == pBtampCtx ) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "Invalid BAP pointer from pvosGCtx on WLANBAP_Close"); - return VOS_STATUS_E_FAULT; - } - - /*------------------------------------------------------------------------ - Cleanup BAP control block. - ------------------------------------------------------------------------*/ - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, "WLANBAP_Close"); - WLANBAP_CleanCB(pBtampCtx, 1 /* empty queues/lists/pkts if any*/); -#if defined(ANI_OS_TYPE_ANDROID) && defined(WLAN_BTAMP_FEATURE) - BSL_Deinit(pvosGCtx); -#endif - /*------------------------------------------------------------------------ - Free BAP context from VOSS global - ------------------------------------------------------------------------*/ - vos_free_context(pvosGCtx, VOS_MODULE_ID_BAP, pBtampCtx); - return VOS_STATUS_SUCCESS; -}/* WLANBAP_Close */ - -/*---------------------------------------------------------------------------- - HDD interfaces - Per instance initialization - ---------------------------------------------------------------------------*/ - -/*========================================================================== - - FUNCTION WLANBAP_GetNewHndl - - DESCRIPTION - Called by HDD at driver open (BSL_Open). BAP will initialize - allocate a per-instance "file handle" equivalent for this specific - open call. - - There should only ever be one call to BSL_Open. Since - the open app user is the BT stack. - - - DEPENDENCIES - - PARAMETERS - - IN - hBtampHandle: Handle to return btampHandle value in. - - RETURN VALUE - The result code associated with performing the operation - - VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page - fault - VOS_STATUS_SUCCESS: Everything is good :) - - SIDE EFFECTS - -============================================================================*/ - -VOS_STATUS -WLANBAP_GetNewHndl -( - ptBtampHandle *hBtampHandle /* Handle to return btampHandle value in */ -) -{ - ptBtampContext btampContext = NULL; - /*------------------------------------------------------------------------ - Sanity check params - ------------------------------------------------------------------------*/ - if ( NULL == hBtampHandle) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "Invalid BAP handle pointer in WLANBAP_GetNewHndl"); - return VOS_STATUS_E_FAULT; - } - -#ifndef BTAMP_MULTIPLE_PHY_LINKS - /*------------------------------------------------------------------------ - Sanity check the BAP control block pointer - ------------------------------------------------------------------------*/ - if ( NULL == gpBtampCtx ) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "Invalid BAP pointer in WLANBAP_GetNewHndl"); - return VOS_STATUS_E_FAULT; - } - - //*hBtampHandle = (ptBtampHandle) &btampCtx; - /* return a pointer to the tBtampContext structure - allocated by VOS for us */ - *hBtampHandle = (ptBtampHandle) gpBtampCtx; - btampContext = gpBtampCtx; - - /* Update the MAC address and SSID if in case the Read Local AMP Assoc - * Request is made before Create Physical Link creation. - */ - WLANBAP_ReadMacConfig (btampContext); - return VOS_STATUS_SUCCESS; -#else // defined(BTAMP_MULTIPLE_PHY_LINKS) -#endif //BTAMP_MULTIPLE_PHY_LINKS -}/* WLANBAP_GetNewHndl */ - - -/*========================================================================== - - FUNCTION WLANBAP_ReleaseHndl - - DESCRIPTION - Called by HDD at driver open (BSL_Close). BAP will reclaim (invalidate) - the "file handle" passed into this call. - - - DEPENDENCIES - - PARAMETERS - - IN - btampHandle: btampHandle value to invalidate. - - RETURN VALUE - The result code associated with performing the operation - - VOS_STATUS_E_FAULT: btampHandle is NULL ; access would cause a - page fault - VOS_STATUS_SUCCESS: Everything is good :) - - SIDE EFFECTS - -============================================================================*/ -VOS_STATUS -WLANBAP_ReleaseHndl -( - ptBtampHandle btampHandle /* btamp handle value to release */ -) -{ - /* obtain btamp Context */ - ptBtampContext btampContext = (ptBtampContext) btampHandle; - tHalHandle halHandle; - eHalStatus halStatus = eHAL_STATUS_SUCCESS; - /*------------------------------------------------------------------------ - Sanity check params - ------------------------------------------------------------------------*/ - if ( NULL == btampHandle) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "Invalid BAP handle value in WLANBAP_ReleaseHndl"); - return VOS_STATUS_E_FAULT; - } - - /* JEZ081001: TODO: Major: */ - /* Check to see if any wireless associations are still active */ - /* ...if so, I have to call - * sme_RoamDisconnect(VOS_GET_HAL_CB(btampHandle->pvosGCtx), - * btampHandle->sessionId, - * eCSR_DISCONNECT_REASON_UNSPECIFIED); - * on all of them */ - - halHandle = VOS_GET_HAL_CB(btampContext->pvosGCtx); - if(NULL == halHandle) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "halHandle is NULL in %s", __func__); - return VOS_STATUS_E_FAULT; - } - - if( btampContext->isBapSessionOpen == TRUE ) - { - halStatus = sme_CloseSession(halHandle, - btampContext->sessionId, NULL, NULL); - if(eHAL_STATUS_SUCCESS == halStatus) - { - btampContext->isBapSessionOpen = FALSE; - } - } - - /* release the btampHandle */ - - return VOS_STATUS_SUCCESS; -}/* WLANBAP_ReleaseHndl */ - -/*---------------------------------------------------------------------------- - * Utility Function implementations - * -------------------------------------------------------------------------*/ - -/*========================================================================== - - FUNCTION WLANBAP_CleanCB - - DESCRIPTION - Clear out all fields in the BAP context. - - DEPENDENCIES - - PARAMETERS - - IN - pBtampCtx: pointer to the BAP control block - freeFlag: flag indicating whether to free any allocations. - - RETURN VALUE - The result code associated with performing the operation - - VOS_STATUS_E_FAULT: pointer to BAP cb is NULL ; access would cause a page - fault - VOS_STATUS_SUCCESS: Everything is good :) - - SIDE EFFECTS - -============================================================================*/ -VOS_STATUS -WLANBAP_CleanCB -( - ptBtampContext pBtampCtx, - v_U32_t freeFlag // 0 /*do not empty*/); -) -{ - v_U16_t i; /* Logical Link index */ - tpBtampLogLinkCtx pLogLinkContext = NULL; - - /*------------------------------------------------------------------------ - Sanity check BAP control block - ------------------------------------------------------------------------*/ - - if ( NULL == pBtampCtx ) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "Invalid BAP pointer in WLANBAP_CleanCB"); - return VOS_STATUS_E_FAULT; - } - - /*------------------------------------------------------------------------ - Clean up BAP control block, initialize all values - ------------------------------------------------------------------------*/ - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, "WLANBAP_CleanCB"); - - // First, clear out EVERYTHING in the BT-AMP context - vos_mem_set( pBtampCtx, sizeof( *pBtampCtx), 0); - - pBtampCtx->pvosGCtx = NULL; - - // Initialize physical link state machine to DISCONNECTED state - //pBtampCtx->bapPhysLinkMachine = BTAMPFSM_INSTANCEDATA_INIT; - - // Initialize physical link state machine to DISCONNECTED state - vos_mem_copy( - &pBtampCtx->bapPhysLinkMachine, - &bapPhysLinkMachineInitial, /* BTAMPFSM_INSTANCEDATA_INIT; */ - sizeof( pBtampCtx->bapPhysLinkMachine)); - - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, "%s: Initializing State: %d", __func__, bapPhysLinkMachineInitial.stateVar); - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, "%s: Initialized State: %d", __func__, pBtampCtx->bapPhysLinkMachine.stateVar); - - //VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, "%s: btampContext value: %x", __func__, pBtampCtx); -#ifdef BAP_DEBUG - /* Trace the tBtampCtx being passed in. */ - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, - "WLAN BAP Context Monitor: pBtampCtx value = %x in %s:%d", pBtampCtx, __func__, __LINE__ ); -#endif //BAP_DEBUG - - - pBtampCtx->sessionId = 0; - pBtampCtx->pAppHdl = NULL; // Per-app BSL context - pBtampCtx->pHddHdl = NULL; // Per-app BSL context - /* 8 bits of phy_link_handle identifies this association */ - pBtampCtx->phy_link_handle = 0; - pBtampCtx->channel = 0; - pBtampCtx->BAPDeviceRole = BT_RESPONDER; - pBtampCtx->ucSTAId = 0; - - // gNeedPhysLinkCompEvent - pBtampCtx->gNeedPhysLinkCompEvent = VOS_FALSE; - // gPhysLinkStatus - pBtampCtx->gPhysLinkStatus = WLANBAP_STATUS_SUCCESS; - // gDiscRequested - pBtampCtx->gDiscRequested = VOS_FALSE; - // gDiscReason - pBtampCtx->gDiscReason = WLANBAP_STATUS_SUCCESS; - - /* Connection Accept Timer interval*/ - pBtampCtx->bapConnectionAcceptTimerInterval = WLANBAP_CONNECTION_ACCEPT_TIMEOUT; - /* Link Supervision Timer interval*/ - pBtampCtx->bapLinkSupervisionTimerInterval = WLANBAP_LINK_SUPERVISION_TIMEOUT; - /* Logical Link Accept Timer interval*/ - pBtampCtx->bapLogicalLinkAcceptTimerInterval = WLANBAP_LOGICAL_LINK_ACCEPT_TIMEOUT; - /* Best Effort Flush timer interval*/ - pBtampCtx->bapBEFlushTimerInterval = WLANBAP_BE_FLUSH_TIMEOUT; - - // Include the associations MAC addresses - vos_mem_copy( - pBtampCtx->self_mac_addr, - pBtStaOwnMacAddr, /* Where do I get the current MAC address? */ - sizeof(pBtampCtx->self_mac_addr)); - - vos_mem_set( - pBtampCtx->peer_mac_addr, - sizeof(pBtampCtx->peer_mac_addr), - 0); - - // The array of logical links - pBtampCtx->current_log_link_index = 0; /* assigned mod 16 */ - pBtampCtx->total_log_link_index = 0; /* should never be >16 */ - - // Clear up the array of logical links - for (i = 0; i < WLANBAP_MAX_LOG_LINKS ; i++) - { - pLogLinkContext = &pBtampCtx->btampLogLinkCtx[i]; - pLogLinkContext->present = 0; - pLogLinkContext->uTxPktCompleted = 0; - pLogLinkContext->log_link_handle = 0; - } - - - // Include the HDD BAP Shim Layer callbacks for Fetch, TxComp, and RxPkt - pBtampCtx->pfnBtampFetchPktCB = NULL; - pBtampCtx->pfnBtamp_STARxCB = NULL; - pBtampCtx->pfnBtampTxCompCB = NULL; - /* Implements the callback for ALL asynchronous events. */ - pBtampCtx->pBapHCIEventCB = NULL; - - /* Set the default for event mask */ - vos_mem_set( - pBtampCtx->event_mask_page_2, - sizeof(pBtampCtx->event_mask_page_2), - 0); - - /* Set the default for location data. */ - pBtampCtx->btamp_Location_Data_Info.loc_options = 0x58; - /* Set the default data transfer mode */ - pBtampCtx->ucDataTrafficMode = WLANBAP_FLOW_CONTROL_MODE_BLOCK_BASED; - - return VOS_STATUS_SUCCESS; -}/* WLANBAP_CleanCB */ - -/*========================================================================== - - FUNCTION WLANBAP_GetCtxFromStaId - - DESCRIPTION - Called inside the BT-AMP PAL (BAP) layer whenever we need either the - BSL context or the BTAMP context from the StaId. - - - DEPENDENCIES - - PARAMETERS - - IN - ucSTAId: The StaId (used by TL, PE, and HAL) - - OUT - hBtampHandle: Handle (pointer to a pointer) to return the - btampHandle value in. - hHddHdl: Handle to return the BSL context pointer in. - - RETURN VALUE - The result code associated with performing the operation - - VOS_STATUS_E_FAULT: NULL pointer; access would cause a page fault - VOS_STATUS_SUCCESS: Everything is good :) - - SIDE EFFECTS - -============================================================================*/ -VOS_STATUS -WLANBAP_GetCtxFromStaId -( - v_U8_t ucSTAId, /* The StaId (used by TL, PE, and HAL) */ - ptBtampHandle *hBtampHandle, /* Handle to return per app btampHandle value in */ - ptBtampContext *hBtampContext, /* Handle to return per assoc btampContext value in */ - v_PVOID_t *hHddHdl /* Handle to return BSL context in */ -) -{ -#ifndef BTAMP_MULTIPLE_PHY_LINKS - - /* For now, we know there is only one application context */ - /* ...and only one physical link context */ - //*hBtampHandle = &((ptBtampContext) btampCtx); - //*hBtampHandle = &btampCtx; - *hBtampHandle = (v_VOID_t*)gpBtampCtx; - - //*hBtampContext = &btampCtx; - *hBtampContext = gpBtampCtx; - - /* Handle to return BSL context in */ - //*hHddHdl = btampCtx.pHddHdl; - *hHddHdl = gpBtampCtx->pHddHdl; - - return VOS_STATUS_SUCCESS; -#else // defined(BTAMP_MULTIPLE_PHY_LINKS) - -#endif //BTAMP_MULTIPLE_PHY_LINKS -}/* WLANBAP_GetCtxFromStaId */ - -/*========================================================================== - - FUNCTION WLANBAP_GetStaIdFromLinkCtx - - DESCRIPTION - Called inside the BT-AMP PAL (BAP) layer whenever we need the - StaId (or hHddHdl) from the BTAMP context and phy_link_handle. - - - DEPENDENCIES - - PARAMETERS - - IN - hBtampHandle: Handle (pointer to a pointer) to return the - btampHandle value in. - phy_link_handle: physical link handle value. Unique per assoc. - - OUT - pucSTAId: The StaId (used by TL, PE, and HAL) - hHddHdl: Handle to return the BSL context pointer in. - - RETURN VALUE - The result code associated with performing the operation - - VOS_STATUS_E_FAULT: NULL pointer; access would cause a page fault - VOS_STATUS_SUCCESS: Everything is good :) - - SIDE EFFECTS - -============================================================================*/ -VOS_STATUS -WLANBAP_GetStaIdFromLinkCtx -( - ptBtampHandle btampHandle, /* btampHandle value in */ - v_U8_t phy_link_handle, /* phy_link_handle value in */ - v_U8_t *pucSTAId, /* The StaId (used by TL, PE, and HAL) */ - v_PVOID_t *hHddHdl /* Handle to return BSL context */ -) -{ -#ifndef BTAMP_MULTIPLE_PHY_LINKS - ptBtampContext pBtampCtx = (ptBtampContext) btampHandle; - - /*------------------------------------------------------------------------ - Sanity check params - ------------------------------------------------------------------------*/ - if ( NULL == pBtampCtx) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "Invalid BAP handle value in %s", __func__); - return VOS_STATUS_E_FAULT; - } - - /* Since there is only one physical link...we have stored all - * the physical link specific context in the application context - */ - /* The StaId (used by TL, PE, and HAL) */ - *pucSTAId = pBtampCtx->ucSTAId; - - /* Handle to return BSL context */ - *hHddHdl = pBtampCtx->pHddHdl; - - return VOS_STATUS_SUCCESS; -#else // defined(BTAMP_MULTIPLE_PHY_LINKS) - -#endif //BTAMP_MULTIPLE_PHY_LINKS -}/* WLANBAP_GetStaIdFromLinkCtx */ - -/*========================================================================== - - FUNCTION WLANBAP_CreateNewPhyLinkCtx - - DESCRIPTION - Called in order to create (or update) a BAP Physical Link "context" - - - DEPENDENCIES - - PARAMETERS - - IN - btampHandle: BAP app context handle - phy_link_handle: phy_link_handle from the Command - pHddHdl: BSL passes in its specific context - - OUT - hBtampContext: Handle (pointer to a pointer) to return the - per "Phy Link" ptBtampContext value in. - - RETURN VALUE - The result code associated with performing the operation - - VOS_STATUS_E_FAULT: NULL pointer; access would cause a page fault - VOS_STATUS_SUCCESS: Everything is good :) - - SIDE EFFECTS - -============================================================================*/ -VOS_STATUS -WLANBAP_CreateNewPhyLinkCtx -( - ptBtampHandle btampHandle, - v_U8_t phy_link_handle, /* I get phy_link_handle from the Command */ - v_PVOID_t pHddHdl, /* BSL passes in its specific context */ - ptBtampContext *hBtampContext, /* Handle to return per assoc btampContext value in */ - tWLAN_BAPRole BAPDeviceRole -) -{ -#ifndef BTAMP_MULTIPLE_PHY_LINKS - ptBtampContext pBtampCtx = gpBtampCtx; - /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ - - /* Read and Set MAC address and SSID to BT-AMP context */ - WLANBAP_ReadMacConfig (pBtampCtx); - - /*------------------------------------------------------------------------ - For now, presume security is not enabled. - ------------------------------------------------------------------------*/ - pBtampCtx->ucSecEnabled = WLANBAP_SECURITY_ENABLED_STATE; - - /*------------------------------------------------------------------------ - Initial Short Range Mode for this physical link is 'disabled' - ------------------------------------------------------------------------*/ - pBtampCtx->phy_link_srm = 0; - - /*------------------------------------------------------------------------ - Clear out the logical links. - ------------------------------------------------------------------------*/ - pBtampCtx->current_log_link_index = 0; - pBtampCtx->total_log_link_index = 0; - - /*------------------------------------------------------------------------ - Now configure the roaming profile links. To SSID and bssid. - ------------------------------------------------------------------------*/ - // We have room for two SSIDs. - pBtampCtx->csrRoamProfile.SSIDs.numOfSSIDs = 1; // This is true for now. - pBtampCtx->csrRoamProfile.SSIDs.SSIDList = pBtampCtx->SSIDList; //Array of two - pBtampCtx->csrRoamProfile.SSIDs.SSIDList[0].SSID.length = 0; - pBtampCtx->csrRoamProfile.SSIDs.SSIDList[0].handoffPermitted = VOS_FALSE; - pBtampCtx->csrRoamProfile.SSIDs.SSIDList[0].ssidHidden = VOS_FALSE; - - pBtampCtx->csrRoamProfile.BSSIDs.numOfBSSIDs = 1; // This is true for now. - pBtampCtx->csrRoamProfile.BSSIDs.bssid = &pBtampCtx->bssid; - - // Now configure the auth type in the roaming profile. To open. - //pBtampCtx->csrRoamProfile.AuthType = eCSR_AUTH_TYPE_OPEN_SYSTEM; // open is the default - //pBtampCtx->csrRoamProfile.negotiatedAuthType = eCSR_AUTH_TYPE_OPEN_SYSTEM; // open is the default - pBtampCtx->csrRoamProfile.negotiatedAuthType = eCSR_AUTH_TYPE_RSN_PSK; - pBtampCtx->csrRoamProfile.negotiatedUCEncryptionType = eCSR_ENCRYPT_TYPE_AES; - - pBtampCtx->phy_link_handle = phy_link_handle; - /* For now, we know there is only one physical link context */ - //*hBtampContext = &btampCtx; - - pBtampCtx->pHddHdl = pHddHdl; - - *hBtampContext = pBtampCtx; - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "Btamp Ctxt = %p", pBtampCtx); - - return VOS_STATUS_SUCCESS; -#else // defined(BTAMP_MULTIPLE_PHY_LINKS) - -#endif //BTAMP_MULTIPLE_PHY_LINKS -}/* WLANBAP_CreateNewPhyLinkCtx */ - -/*========================================================================== - - FUNCTION WLANBAP_UpdatePhyLinkCtxStaId - - DESCRIPTION - Called to update the STAId value associated with Physical Link "context" - - - DEPENDENCIES - - PARAMETERS - - IN - pBtampContext: ptBtampContext to update. - ucSTAId: The StaId (used by TL, PE, and HAL) - - - RETURN VALUE - The result code associated with performing the operation - - VOS_STATUS_E_FAULT: NULL pointer; access would cause a page fault - VOS_STATUS_SUCCESS: Everything is good :) - - SIDE EFFECTS - -============================================================================*/ -VOS_STATUS -WLANBAP_UpdatePhyLinkCtxStaId -( - ptBtampContext pBtampContext, /* btampContext value in */ - v_U8_t ucSTAId -) -{ -#ifndef BTAMP_MULTIPLE_PHY_LINKS - - /*------------------------------------------------------------------------ - Sanity check params - ------------------------------------------------------------------------*/ - if ( NULL == pBtampContext) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "Invalid BAP handle value in %s", __func__); - return VOS_STATUS_E_FAULT; - } - - /* The StaId (used by TL, PE, and HAL) */ - pBtampContext->ucSTAId = ucSTAId; - - return VOS_STATUS_SUCCESS; -#else // defined(BTAMP_MULTIPLE_PHY_LINKS) - -#endif //BTAMP_MULTIPLE_PHY_LINKS -}/* WLANBAP_UpdatePhyLinkCtxStaId */ - -v_U8_t -bapAllocNextLogLinkIndex -( - ptBtampContext pBtampContext, /* Pointer to the per assoc btampContext value */ - v_U8_t phy_link_handle /* I get phy_link_handle from the Command */ -) -{ - return ++(pBtampContext->current_log_link_index) % WLANBAP_MAX_LOG_LINKS; -}/* bapAllocNextLogLinkIndex */ - -/*========================================================================== - - FUNCTION WLANBAP_CreateNewLogLinkCtx - - DESCRIPTION - Called in order to allocate a BAP Logical Link "context" and "index" - - - DEPENDENCIES - - PARAMETERS - - IN - pBtampContext: Pointer to the ptBtampContext value in. - phy_link_handle: phy_link_handle involved - - OUT - pLog_link_handle: return the log_link_handle here - - RETURN VALUE - The result code associated with performing the operation - - VOS_STATUS_E_FAULT: NULL pointer; access would cause a page fault - VOS_STATUS_SUCCESS: Everything is good :) - - SIDE EFFECTS - -============================================================================*/ -VOS_STATUS -WLANBAP_CreateNewLogLinkCtx -( - ptBtampContext pBtampContext, /* Pointer to the per assoc btampContext value */ - v_U8_t phy_link_handle, /* I get phy_link_handle from the Command */ - v_U8_t tx_flow_spec[18], - v_U8_t rx_flow_spec[18], - v_U16_t *pLog_link_handle /* Return the logical link index here */ -) -{ -#ifndef BTAMP_MULTIPLE_PHY_LINKS - v_U16_t i; /* Logical Link index */ - tpBtampLogLinkCtx pLogLinkContext; - v_U32_t retval; - /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ - - /*------------------------------------------------------------------------ - For now, allocate the logical links serially. - ------------------------------------------------------------------------*/ - i = pBtampContext->current_log_link_index - = bapAllocNextLogLinkIndex(pBtampContext, phy_link_handle); - pBtampContext->total_log_link_index++; - - *pLog_link_handle = (i << 8) + ( v_U16_t ) phy_link_handle ; /* Return the logical link index here */ - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO, - " %s:*pLog_link_handle=%x", __func__,*pLog_link_handle); - - /*------------------------------------------------------------------------ - Evaluate the Tx and Rx Flow specification for this logical link. - ------------------------------------------------------------------------*/ - // Currently we only support flow specs with service types of BE (0x01) - -#ifdef BAP_DEBUG - /* Trace the tBtampCtx being passed in. */ - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, - "WLAN BAP Context Monitor: pBtampContext value = %p in %s:%d", pBtampContext, __func__, __LINE__ ); -#endif //BAP_DEBUG - - /*------------------------------------------------------------------------ - Now configure the Logical Link context. - ------------------------------------------------------------------------*/ - pLogLinkContext = &(pBtampContext->btampLogLinkCtx[i]); - - /* Extract Tx flow spec into the context structure */ - retval = btampUnpackTlvFlow_Spec((void *)pBtampContext, tx_flow_spec, - WLAN_BAP_PAL_FLOW_SPEC_TLV_LEN, - &pLogLinkContext->btampFlowSpec); - if (retval != BTAMP_PARSE_SUCCESS) - { - /* Flow spec parsing failed, return failure */ - return VOS_STATUS_E_BADMSG; - } - - /* Save the Logical link handle in the logical link context - As of now, only the index is saved as logical link handle since - same is returned in the event. - FIXME: Decide whether this index has to be combined with physical - link handle to generate the Logical link handle. - */ - pLogLinkContext->log_link_handle = *pLog_link_handle; - - // Mark this entry as OCCUPIED - pLogLinkContext->present = VOS_TRUE; - // Now initialize the Logical Link context - pLogLinkContext->btampAC = 1; - // Now initialize the values in the Logical Link context - pLogLinkContext->ucTID = 0; // Currently we only support BE TID (0x00) - pLogLinkContext->ucUP = 0; - pLogLinkContext->uTxPktCompleted = 0; - - return VOS_STATUS_SUCCESS; -#else // defined(BTAMP_MULTIPLE_PHY_LINKS) - -#endif //BTAMP_MULTIPLE_PHY_LINKS -}/* WLANBAP_CreateNewLogLinkCtx */ - -/*========================================================================== - - FUNCTION WLANBAP_pmcFullPwrReqCB - - DESCRIPTION - Callback provide to PMC in the pmcRequestFullPower API. - - - DEPENDENCIES - - PARAMETERS - - IN - callbackContext: The user passed in a context to identify - status: The halStatus - - - RETURN VALUE - None - - SIDE EFFECTS - -============================================================================*/ -void -WLANBAP_pmcFullPwrReqCB -( - void *callbackContext, - eHalStatus status -) -{ - -}/* WLANBAP_pmcFullPwrReqCB */ - - -/*========================================================================== - - FUNCTION WLANBAP_ReadMacConfig - - DESCRIPTION - This function sets the MAC config (Address and SSID to BT-AMP context - - DEPENDENCIES - - PARAMETERS - - pvosGCtx: pointer to the global vos context; a handle to BAP's - control block can be extracted from its context - - RETURN VALUE - None - - SIDE EFFECTS - -============================================================================*/ -void -WLANBAP_ReadMacConfig -( - ptBtampContext pBtampCtx -) -{ - tANI_U32 len = VOS_MAC_ADDR_SIZE; - tHalHandle pMac = NULL; - - /*------------------------------------------------------------------------ - Temporary method to get the self MAC address - ------------------------------------------------------------------------*/ - if (NULL == pBtampCtx) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "pBtampCtx is NULL in %s", __func__); - - return; - } - - pMac = (tHalHandle)vos_get_context( VOS_MODULE_ID_SME, pBtampCtx->pvosGCtx); - if (NULL == pMac) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "pMac is NULL in %s", __func__); - - return; - } - - ccmCfgGetStr( pMac, WNI_CFG_STA_ID, pBtStaOwnMacAddr, &len ); - - if (VOS_MAC_ADDR_SIZE != len) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "len is improper %s", __func__); - return; - } - - /* Form the SSID from Mac address */ - VOS_SNPRINTF( pBtStaOwnSsid, WLAN_BAP_SSID_MAX_LEN, - "AMP-%02x-%02x-%02x-%02x-%02x-%02x", - pBtStaOwnMacAddr[0], pBtStaOwnMacAddr[1], pBtStaOwnMacAddr[2], - pBtStaOwnMacAddr[3], pBtStaOwnMacAddr[4], pBtStaOwnMacAddr[5]); - - /*------------------------------------------------------------------------ - Set the MAC address for this instance - ------------------------------------------------------------------------*/ - vos_mem_copy( - pBtampCtx->self_mac_addr, - pBtStaOwnMacAddr, - sizeof(pBtampCtx->self_mac_addr)); - - /*------------------------------------------------------------------------ - Set our SSID value - ------------------------------------------------------------------------*/ - pBtampCtx->ownSsidLen = 21; - vos_mem_copy( - pBtampCtx->ownSsid, - pBtStaOwnSsid, - pBtampCtx->ownSsidLen); -} - -/*========================================================================== - - FUNCTION WLANBAP_NeedBTCoexPriority - - DESCRIPTION - This function will cause a message to be sent to BTC firmware - if a change in priority has occurred. (From AMP's point-of-view.) - - DEPENDENCIES - - PARAMETERS - - pvosGCtx: pointer to the global vos context; a handle to HAL's - control block can be extracted from its context - - RETURN VALUE - None - - SIDE EFFECTS - -============================================================================*/ -// Global -static int gBapCoexPriority; - -void -WLANBAP_NeedBTCoexPriority -( - ptBtampContext pBtampCtx, - v_U32_t needCoexPriority -) -{ - tHalHandle pMac = NULL; - tSmeBtAmpEvent btAmpEvent; - - - /*------------------------------------------------------------------------ - Retrieve the pMac (HAL context) - ------------------------------------------------------------------------*/ - pMac = (tHalHandle)vos_get_context( VOS_MODULE_ID_SME, pBtampCtx->pvosGCtx); - - // Is re-entrancy protection needed for this? - if (needCoexPriority != gBapCoexPriority) { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, - "Calling %s with needCoexPriority=%d.", __func__, needCoexPriority); - - gBapCoexPriority = needCoexPriority; - switch ( needCoexPriority) - { - case 0: /* Idle */ - btAmpEvent.btAmpEventType = BTAMP_EVENT_CONNECTION_TERMINATED; - pBtampCtx->btamp_session_on = FALSE; - sme_sendBTAmpEvent(pMac, btAmpEvent); - - break; - - case 1: /* Associating */ - btAmpEvent.btAmpEventType = BTAMP_EVENT_CONNECTION_START; - pBtampCtx->btamp_session_on = TRUE; - sme_sendBTAmpEvent(pMac, btAmpEvent); - - break; - - case 2: /* Post-assoc */ - btAmpEvent.btAmpEventType = BTAMP_EVENT_CONNECTION_STOP; - sme_sendBTAmpEvent(pMac, btAmpEvent); - - break; - - default: - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "%s: Invalid Coexistence priority request: %d", - __func__, needCoexPriority); - } - - } -} - - -/*========================================================================== - - FUNCTION WLANBAP_RxCallback - - DESCRIPTION - This function is called by TL call this function for all frames except for Data frames - - DEPENDENCIES - - PARAMETERS - - pvosGCtx: pointer to the global vos context; a handle to BAP's - control block can be extracted from its context - pPacket Vos packet - frameType Frame type - - RETURN VALUE - None - - SIDE EFFECTS - -============================================================================*/ -VOS_STATUS WLANBAP_RxCallback -( - v_PVOID_t pvosGCtx, - vos_pkt_t *pPacket, - WLANTL_BAPFrameEnumType frameType -) -{ - ptBtampContext pBtampCtx = NULL; - - pBtampCtx = VOS_GET_BAP_CB(pvosGCtx); - if ( NULL == pBtampCtx ) - { - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "Invalid BAP pointer from pvosGCtx on WLANBAP_Start"); - return VOS_STATUS_E_FAULT; - } - - switch (frameType) - { - case WLANTL_BT_AMP_TYPE_LS_REQ: /* Fall through */ - case WLANTL_BT_AMP_TYPE_LS_REP: - { - /* Link supervision frame, process this frame */ - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_INFO_HIGH, - "%s: link Supervision packet received over TL: %d, => BAP", - __func__, frameType); - WLANBAP_RxProcLsPkt((ptBtampHandle)pBtampCtx, - pBtampCtx->phy_link_handle, - frameType, - pPacket); - break; - } - - case WLANTL_BT_AMP_TYPE_AR: /* Fall through */ - case WLANTL_BT_AMP_TYPE_SEC: - { - /* Call the RSN callback handler */ - bapRsnRxCallback (pvosGCtx, pPacket); - break; - } - - default: - VOS_TRACE( VOS_MODULE_ID_BAP, VOS_TRACE_LEVEL_ERROR, - "%s: Invalid frametype from TL: %d, => BAP", - __func__, frameType); - } - - return ( VOS_STATUS_SUCCESS ); -} |
