aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/810-b43_no_pio.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/810-b43_no_pio.patch')
-rw-r--r--package/mac80211/patches/810-b43_no_pio.patch70
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 0000000000..2aa426e37a
--- /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_ */