diff options
Diffstat (limited to 'package/mac80211/patches/810-b43_no_pio.patch')
-rw-r--r-- | package/mac80211/patches/810-b43_no_pio.patch | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/package/mac80211/patches/810-b43_no_pio.patch b/package/mac80211/patches/810-b43_no_pio.patch new file mode 100644 index 0000000..2aa426e --- /dev/null +++ b/package/mac80211/patches/810-b43_no_pio.patch @@ -0,0 +1,70 @@ +--- a/drivers/net/wireless/b43/Makefile ++++ b/drivers/net/wireless/b43/Makefile +@@ -12,7 +12,7 @@ b43-y += xmit.o + b43-y += lo.o + b43-y += wa.o + b43-y += dma.o +-b43-y += pio.o ++# b43-y += pio.o + b43-y += rfkill.o + b43-$(CONFIG_B43_LEDS) += leds.o + b43-$(CONFIG_B43_PCMCIA) += pcmcia.o +--- a/drivers/net/wireless/b43/main.c ++++ b/drivers/net/wireless/b43/main.c +@@ -1810,9 +1810,11 @@ static void b43_do_interrupt_thread(stru + dma_reason[4], dma_reason[5]); + b43err(dev->wl, "This device does not support DMA " + "on your system. It will now be switched to PIO.\n"); ++#if 0 + /* Fall back to PIO transfers if we get fatal DMA errors! */ + dev->use_pio = 1; + b43_controller_restart(dev, "DMA error"); ++#endif + return; + } + if (merged_dma_reason & B43_DMAIRQ_NONFATALMASK) { +--- a/drivers/net/wireless/b43/pio.h ++++ b/drivers/net/wireless/b43/pio.h +@@ -151,15 +151,34 @@ static inline void b43_piorx_write32(str + } + + +-int b43_pio_init(struct b43_wldev *dev); +-void b43_pio_free(struct b43_wldev *dev); ++static inline int b43_pio_init(struct b43_wldev *dev) ++{ ++ return 0; ++} ++ ++static inline void b43_pio_free(struct b43_wldev *dev) ++{ ++} ++ ++static inline int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *skb) ++{ ++ return 0; ++} + +-int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *skb); +-void b43_pio_handle_txstatus(struct b43_wldev *dev, +- const struct b43_txstatus *status); +-void b43_pio_rx(struct b43_pio_rxqueue *q); ++static inline void b43_pio_handle_txstatus(struct b43_wldev *dev, ++ const struct b43_txstatus *status) ++{ ++} ++ ++static inline void b43_pio_rx(struct b43_pio_rxqueue *q) ++{ ++} + +-void b43_pio_tx_suspend(struct b43_wldev *dev); +-void b43_pio_tx_resume(struct b43_wldev *dev); ++static inline void b43_pio_tx_suspend(struct b43_wldev *dev) ++{ ++} ++static inline void b43_pio_tx_resume(struct b43_wldev *dev) ++{ ++} + + #endif /* B43_PIO_H_ */ |