---
name: "ieee80211_rx"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/ieee80211_rx"
---

# ieee80211\_rx(9)

receive frame

## NAME

ieee80211\_rx - receive frame

## SYNOPSIS

**void ieee80211\_rx(struct ieee80211\_hw \*** *hw***, struct sk\_buff \*** *skb***);**

## ARGUMENTS

*hw*

the hardware this frame came in on

*skb*

the buffer to receive, owned by mac80211 after this call

## DESCRIPTION

Use this function to hand received frames to mac80211. The receive buffer in *skb* must start with an IEEE 802.11 header. In case of a paged *skb* is used, the driver is recommended to put the ieee80211 header of the frame on the linear part of the *skb* 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. Must not run concurrently with **ieee80211\_tx\_status** or **ieee80211\_tx\_status\_ni**.

In process context use instead **ieee80211\_rx\_ni**.

## AUTHOR

**Johannes Berg** \<johannes@sipsolutions.net\>

Author.

## COPYRIGHT
