aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/b43.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-02-26 13:34:27 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-02-26 17:26:16 -0500
commit9e3bd9190800e8209b4a3e1d724c35f0738dcad2 (patch)
tree6899d414c070d8a5ad6074dd146419a559ae8c14 /drivers/net/wireless/b43/b43.h
parent0e0a228398cc967c922759be36c69d32e4f62701 (diff)
b43: fall back gracefully to PIO mode after fatal DMA errors
This makes the b43 driver just automatically fall back to PIO mode when DMA doesn't work. The driver already told the user to do it, so rather than have the user reload the module with a new flag, just make the driver do it automatically. We keep the message as an indication that something is wrong, but now just automatically fall back to the hopefully working PIO case. (Some post-2.6.33 merge fixups by Larry Finger <Larry.Finger@lwfinger.net> and yours truly... -- JWL) Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/b43.h')
-rw-r--r--drivers/net/wireless/b43/b43.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h
index 6a6ab0f630e5..b8807fb12c92 100644
--- a/drivers/net/wireless/b43/b43.h
+++ b/drivers/net/wireless/b43/b43.h
@@ -702,6 +702,7 @@ struct b43_wldev {
702 bool radio_hw_enable; /* saved state of radio hardware enabled state */ 702 bool radio_hw_enable; /* saved state of radio hardware enabled state */
703 bool qos_enabled; /* TRUE, if QoS is used. */ 703 bool qos_enabled; /* TRUE, if QoS is used. */
704 bool hwcrypto_enabled; /* TRUE, if HW crypto acceleration is enabled. */ 704 bool hwcrypto_enabled; /* TRUE, if HW crypto acceleration is enabled. */
705 bool use_pio; /* TRUE if next init should use PIO */
705 706
706 /* PHY/Radio device. */ 707 /* PHY/Radio device. */
707 struct b43_phy phy; 708 struct b43_phy phy;
@@ -886,6 +887,12 @@ static inline bool b43_using_pio_transfers(struct b43_wldev *dev)
886 return dev->__using_pio_transfers; 887 return dev->__using_pio_transfers;
887} 888}
888 889
890#ifdef CONFIG_B43_FORCE_PIO
891# define B43_PIO_DEFAULT 1
892#else
893# define B43_PIO_DEFAULT 0
894#endif
895
889/* Message printing */ 896/* Message printing */
890void b43info(struct b43_wl *wl, const char *fmt, ...) 897void b43info(struct b43_wl *wl, const char *fmt, ...)
891 __attribute__ ((format(printf, 2, 3))); 898 __attribute__ ((format(printf, 2, 3)));