#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)
{ … }
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)
{ … }
static union recv_frame *decryptor(struct adapter *padapter, union recv_frame *precv_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)
{ … }
static union recv_frame *recvframe_defrag(struct adapter *adapter,
struct __queue *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)
{ … }
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)
{ … }