linux/drivers/staging/rtl8723bs/core/rtw_recv.c

// SPDX-License-Identifier: GPL-2.0
/******************************************************************************
 *
 * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
 *
 ******************************************************************************/
#include <drv_types.h>
#include <rtw_debug.h>
#include <linux/jiffies.h>
#include <rtw_recv.h>
#include <net/cfg80211.h>
#include <asm/unaligned.h>

static u8 SNAP_ETH_TYPE_IPX[2] =;
static u8 SNAP_ETH_TYPE_APPLETALK_AARP[2] =;

static void rtw_signal_stat_timer_hdl(struct timer_list *t);

void _rtw_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv)
{}

signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter)
{}

void _rtw_free_recv_priv(struct recv_priv *precvpriv)
{}

union recv_frame *_rtw_alloc_recvframe(struct __queue *pfree_recv_queue)
{}

union recv_frame *rtw_alloc_recvframe(struct __queue *pfree_recv_queue)
{}

int rtw_free_recvframe(union recv_frame *precvframe, struct __queue *pfree_recv_queue)
{}




signed int _rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *queue)
{}

signed int rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *queue)
{}

/*
 * caller : defrag ; recvframe_chk_defrag in recv_thread  (passive)
 * pframequeue: defrag_queue : will be accessed in recv_thread  (passive)
 *
 * using spinlock to protect
 *
 */

void rtw_free_recvframe_queue(struct __queue *pframequeue,  struct __queue *pfree_recv_queue)
{}

u32 rtw_free_uc_swdec_pending_queue(struct adapter *adapter)
{}


signed int rtw_enqueue_recvbuf_to_head(struct recv_buf *precvbuf, struct __queue *queue)
{}

signed int rtw_enqueue_recvbuf(struct recv_buf *precvbuf, struct __queue *queue)
{}

struct recv_buf *rtw_dequeue_recvbuf(struct __queue *queue)
{}

static signed int recvframe_chkmic(struct adapter *adapter,  union recv_frame *precvframe)
{}

/* decrypt and set the ivlen, icvlen of the recv_frame */
static union recv_frame *decryptor(struct adapter *padapter, union recv_frame *precv_frame)
{}

/* set the security information in the recv_frame */
static union recv_frame *portctrl(struct adapter *adapter, union recv_frame *precv_frame)
{}

static signed int recv_decache(union recv_frame *precv_frame, u8 bretry, struct stainfo_rxcache *prxcache)
{}

static void process_pwrbit_data(struct adapter *padapter, union recv_frame *precv_frame)
{}

static void process_wmmps_data(struct adapter *padapter, union recv_frame *precv_frame)
{}

static void count_rx_stats(struct adapter *padapter, union recv_frame *prframe, struct sta_info *sta)
{}

static signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame,
			struct sta_info **psta)
{}

static signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame,
		       struct sta_info **psta)
{}

static signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *precv_frame,
		       struct sta_info **psta)
{}

static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_frame *precv_frame)
{}

/* perform defrag */
static union recv_frame *recvframe_defrag(struct adapter *adapter,
					  struct __queue *defrag_q)
{}

/* check if need to defrag, if needed queue the frame to defrag_q */
static union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union recv_frame *precv_frame)
{}

static signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame)
{}

static signed int validate_recv_data_frame(struct adapter *adapter, union recv_frame *precv_frame)
{}

static signed int validate_80211w_mgmt(struct adapter *adapter, union recv_frame *precv_frame)
{}

static signed int validate_recv_frame(struct adapter *adapter, union recv_frame *precv_frame)
{}

/* remove the wlanhdr and add the eth_hdr */
static signed int wlanhdr_to_ethhdr(union recv_frame *precvframe)
{}

static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe)
{}

static int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_num)
{}

static int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, union recv_frame *prframe)
{}

static void recv_indicatepkts_pkt_loss_cnt(struct debug_priv *pdbgpriv, u64 prev_seq, u64 current_seq)
{}

static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctrl *preorder_ctrl, int bforced)
{}

static int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame *prframe)
{}


void rtw_reordering_ctrl_timeout_handler(struct timer_list *t)
{}

static int process_recv_indicatepkts(struct adapter *padapter, union recv_frame *prframe)
{}

static int recv_func_prehandle(struct adapter *padapter, union recv_frame *rframe)
{}

static int recv_func_posthandle(struct adapter *padapter, union recv_frame *prframe)
{}

static int recv_func(struct adapter *padapter, union recv_frame *rframe)
{}


s32 rtw_recv_entry(union recv_frame *precvframe)
{}

static void rtw_signal_stat_timer_hdl(struct timer_list *t)
{}