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>
This commit is contained in:

committed by
John W. Linville

parent
8c35024aa6
commit
07681e211d
@@ -1,7 +1,7 @@
|
||||
#ifndef B43_DMA_H_
|
||||
#define B43_DMA_H_
|
||||
|
||||
#include <linux/ieee80211.h>
|
||||
#include <linux/err.h>
|
||||
|
||||
#include "b43.h"
|
||||
|
||||
@@ -164,6 +164,10 @@ struct b43_dmadesc_generic {
|
||||
#define B43_RXRING_SLOTS 64
|
||||
#define B43_DMA0_RX_BUFFERSIZE IEEE80211_MAX_FRAME_LEN
|
||||
|
||||
/* Pointer poison */
|
||||
#define B43_DMA_PTR_POISON ((void *)ERR_PTR(-ENOMEM))
|
||||
#define b43_dma_ptr_is_poisoned(ptr) (unlikely((ptr) == B43_DMA_PTR_POISON))
|
||||
|
||||
|
||||
struct sk_buff;
|
||||
struct b43_private;
|
||||
|
Reference in New Issue
Block a user