b43: Allow PIO mode to be selected at module load
If userencounter the "Fatal DMA Problem" with a BCM43XX device, and still wish to use b43 as the driver, their only option is to rebuild the kernel with CONFIG_B43_FORCE_PIO. This patch removes this option and allows PIO mode to be selected with a load-time parameter for the module. Note that the configuration variable CONFIG_B43_PIO is also removed. Once the DMA problem with the BCM4312 devices is solved, this patch will likely be reverted. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Tested-by: John Daiker <daikerjohn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Tento commit je obsažen v:

odevzdal
John W. Linville

rodič
7dc6a7a763
revize
b02914af4d
@@ -821,11 +821,9 @@ struct b43_wl {
|
||||
/* The device LEDs. */
|
||||
struct b43_leds leds;
|
||||
|
||||
#ifdef CONFIG_B43_PIO
|
||||
/* Kmalloc'ed scratch space for PIO TX/RX. Protected by wl->mutex. */
|
||||
u8 pio_scratchspace[110] __attribute__((__aligned__(8)));
|
||||
u8 pio_tailspace[4] __attribute__((__aligned__(8)));
|
||||
#endif /* CONFIG_B43_PIO */
|
||||
};
|
||||
|
||||
static inline struct b43_wl *hw_to_b43_wl(struct ieee80211_hw *hw)
|
||||
@@ -876,20 +874,9 @@ static inline void b43_write32(struct b43_wldev *dev, u16 offset, u32 value)
|
||||
|
||||
static inline bool b43_using_pio_transfers(struct b43_wldev *dev)
|
||||
{
|
||||
#ifdef CONFIG_B43_PIO
|
||||
return dev->__using_pio_transfers;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef CONFIG_B43_FORCE_PIO
|
||||
# define B43_FORCE_PIO 1
|
||||
#else
|
||||
# define B43_FORCE_PIO 0
|
||||
#endif
|
||||
|
||||
|
||||
/* Message printing */
|
||||
void b43info(struct b43_wl *wl, const char *fmt, ...)
|
||||
__attribute__ ((format(printf, 2, 3)));
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele