diff options
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 9fdf982d1286..365359b24177 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -2024,8 +2024,8 @@ static inline void ieee80211_rx_ni(struct ieee80211_hw *hw, | |||
2024 | * | 2024 | * |
2025 | * This function may not be called in IRQ context. Calls to this function | 2025 | * This function may not be called in IRQ context. Calls to this function |
2026 | * for a single hardware must be synchronized against each other. Calls | 2026 | * for a single hardware must be synchronized against each other. Calls |
2027 | * to this function and ieee80211_tx_status_irqsafe() may not be mixed | 2027 | * to this function, ieee80211_tx_status_ni() and ieee80211_tx_status_irqsafe() |
2028 | * for a single hardware. | 2028 | * may not be mixed for a single hardware. |
2029 | * | 2029 | * |
2030 | * @hw: the hardware the frame was transmitted by | 2030 | * @hw: the hardware the frame was transmitted by |
2031 | * @skb: the frame that was transmitted, owned by mac80211 after this call | 2031 | * @skb: the frame that was transmitted, owned by mac80211 after this call |
@@ -2034,13 +2034,33 @@ void ieee80211_tx_status(struct ieee80211_hw *hw, | |||
2034 | struct sk_buff *skb); | 2034 | struct sk_buff *skb); |
2035 | 2035 | ||
2036 | /** | 2036 | /** |
2037 | * ieee80211_tx_status_ni - transmit status callback (in process context) | ||
2038 | * | ||
2039 | * Like ieee80211_tx_status() but can be called in process context. | ||
2040 | * | ||
2041 | * Calls to this function, ieee80211_tx_status() and | ||
2042 | * ieee80211_tx_status_irqsafe() may not be mixed | ||
2043 | * for a single hardware. | ||
2044 | * | ||
2045 | * @hw: the hardware the frame was transmitted by | ||
2046 | * @skb: the frame that was transmitted, owned by mac80211 after this call | ||
2047 | */ | ||
2048 | static inline void ieee80211_tx_status_ni(struct ieee80211_hw *hw, | ||
2049 | struct sk_buff *skb) | ||
2050 | { | ||
2051 | local_bh_disable(); | ||
2052 | ieee80211_tx_status(hw, skb); | ||
2053 | local_bh_enable(); | ||
2054 | } | ||
2055 | |||
2056 | /** | ||
2037 | * ieee80211_tx_status_irqsafe - IRQ-safe transmit status callback | 2057 | * ieee80211_tx_status_irqsafe - IRQ-safe transmit status callback |
2038 | * | 2058 | * |
2039 | * Like ieee80211_tx_status() but can be called in IRQ context | 2059 | * Like ieee80211_tx_status() but can be called in IRQ context |
2040 | * (internally defers to a tasklet.) | 2060 | * (internally defers to a tasklet.) |
2041 | * | 2061 | * |
2042 | * Calls to this function and ieee80211_tx_status() may not be mixed for a | 2062 | * Calls to this function, ieee80211_tx_status() and |
2043 | * single hardware. | 2063 | * ieee80211_tx_status_ni() may not be mixed for a single hardware. |
2044 | * | 2064 | * |
2045 | * @hw: the hardware the frame was transmitted by | 2065 | * @hw: the hardware the frame was transmitted by |
2046 | * @skb: the frame that was transmitted, owned by mac80211 after this call | 2066 | * @skb: the frame that was transmitted, owned by mac80211 after this call |