aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/dma.h
diff options
context:
space:
mode:
authorMichael Buesch <mb@bu3sch.de>2009-11-19 16:24:29 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-11-23 17:05:28 -0500
commit07681e211d736ba2394ab7f29f77e93adecd22c5 (patch)
treed97c679446e738275894636f02d50190bf986599 /drivers/net/wireless/b43/dma.h
parent8c35024aa65c079f800df7778869a8dbda074182 (diff)
b43: Rewrite DMA Tx status handling sanity checks
This rewrites the error handling policies in the TX status handler. It tries to be error-tolerant as in "try hard to not crash the machine". It won't recover from errors (that are bugs in the firmware or driver), because that's impossible. However, it will return a more or less useful error message and bail out. It also tries hard to use rate-limited messages to not flood the syslog in case of a failure. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/dma.h')
-rw-r--r--drivers/net/wireless/b43/dma.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wireless/b43/dma.h b/drivers/net/wireless/b43/dma.h
index 356a0ff8f044..e607b392314c 100644
--- a/drivers/net/wireless/b43/dma.h
+++ b/drivers/net/wireless/b43/dma.h
@@ -1,7 +1,7 @@
1#ifndef B43_DMA_H_ 1#ifndef B43_DMA_H_
2#define B43_DMA_H_ 2#define B43_DMA_H_
3 3
4#include <linux/ieee80211.h> 4#include <linux/err.h>
5 5
6#include "b43.h" 6#include "b43.h"
7 7
@@ -164,6 +164,10 @@ struct b43_dmadesc_generic {
164#define B43_RXRING_SLOTS 64 164#define B43_RXRING_SLOTS 64
165#define B43_DMA0_RX_BUFFERSIZE IEEE80211_MAX_FRAME_LEN 165#define B43_DMA0_RX_BUFFERSIZE IEEE80211_MAX_FRAME_LEN
166 166
167/* Pointer poison */
168#define B43_DMA_PTR_POISON ((void *)ERR_PTR(-ENOMEM))
169#define b43_dma_ptr_is_poisoned(ptr) (unlikely((ptr) == B43_DMA_PTR_POISON))
170
167 171
168struct sk_buff; 172struct sk_buff;
169struct b43_private; 173struct b43_private;