Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
rx.c File Reference
#include <linux/jiffies.h>
#include <linux/slab.h>
#include <linux/kernel.h>
#include <linux/skbuff.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/rcupdate.h>
#include <linux/export.h>
#include <net/mac80211.h>
#include <net/ieee80211_radiotap.h>
#include <asm/unaligned.h>
#include "ieee80211_i.h"
#include "driver-ops.h"
#include "led.h"
#include "mesh.h"
#include "wep.h"
#include "wpa.h"
#include "tkip.h"
#include "wme.h"
#include "rate.h"

Go to the source code of this file.

Macros

#define SEQ_MODULO   0x1000
 
#define SEQ_MASK   0xfff
 
#define HT_RX_REORDER_BUF_TIMEOUT   (HZ / 10)
 
#define CALL_RXH(rxh)
 
#define CALL_RXH(rxh)
 

Functions

int ieee80211_sta_ps_transition (struct ieee80211_sta *sta, bool start)
 
 EXPORT_SYMBOL (ieee80211_sta_ps_transition)
 
void ieee80211_release_reorder_timeout (struct sta_info *sta, int tid)
 
void ieee80211_rx (struct ieee80211_hw *hw, struct sk_buff *skb)
 
 EXPORT_SYMBOL (ieee80211_rx)
 
void ieee80211_rx_irqsafe (struct ieee80211_hw *hw, struct sk_buff *skb)
 
 EXPORT_SYMBOL (ieee80211_rx_irqsafe)
 

Macro Definition Documentation

#define CALL_RXH (   rxh)
Value:
do { \
res = rxh(rx); \
if (res != RX_CONTINUE) \
goto rxh_next; \
} while (0);
#define CALL_RXH (   rxh)
Value:
do { \
res = rxh(rx); \
if (res != RX_CONTINUE) \
goto rxh_next; \
} while (0);
#define HT_RX_REORDER_BUF_TIMEOUT   (HZ / 10)

Definition at line 627 of file rx.c.

#define SEQ_MASK   0xfff

Definition at line 561 of file rx.c.

#define SEQ_MODULO   0x1000

Definition at line 560 of file rx.c.

Function Documentation

EXPORT_SYMBOL ( ieee80211_sta_ps_transition  )
EXPORT_SYMBOL ( ieee80211_rx  )
EXPORT_SYMBOL ( ieee80211_rx_irqsafe  )
void ieee80211_release_reorder_timeout ( struct sta_info sta,
int  tid 
)

Definition at line 2765 of file rx.c.

void ieee80211_rx ( struct ieee80211_hw hw,
struct sk_buff skb 
)

ieee80211_rx - receive frame

Use this function to hand received frames to mac80211. The receive buffer in must start with an IEEE 802.11 header. In case of a paged is used, the driver is recommended to put the ieee80211 header of the frame on the linear part of the to avoid memory allocation and/or memcpy by the stack.

This function may not be called in IRQ context. Calls to this function for a single hardware must be synchronized against each other. Calls to this function, ieee80211_rx_ni() and ieee80211_rx_irqsafe() may not be mixed for a single hardware.

In process context use instead ieee80211_rx_ni().

: the hardware this frame came in on : the buffer to receive, owned by mac80211 after this call

Definition at line 3042 of file rx.c.

void ieee80211_rx_irqsafe ( struct ieee80211_hw hw,
struct sk_buff skb 
)

ieee80211_rx_irqsafe - receive frame

Like ieee80211_rx() but can be called in IRQ context (internally defers to a tasklet.)

Calls to this function, ieee80211_rx() or ieee80211_rx_ni() may not be mixed for a single hardware.

: the hardware this frame came in on : the buffer to receive, owned by mac80211 after this call

Definition at line 3149 of file rx.c.

int ieee80211_sta_ps_transition ( struct ieee80211_sta sta,
bool  start 
)

ieee80211_sta_ps_transition - PS transition for connected sta

When operating in AP mode with the IEEE80211_HW_AP_LINK_PS flag set, use this function to inform mac80211 about a connected station entering/leaving PS mode.

This function may not be called in IRQ context or with softirqs enabled.

Calls to this function for a single hardware must be synchronized against each other.

The function returns -EINVAL when the requested PS mode is already set.

: currently connected sta : start or stop PS

Definition at line 1178 of file rx.c.