Root/package/mac80211/patches/810-b43_no_pio.patch

1--- a/drivers/net/wireless/b43/Makefile
2+++ b/drivers/net/wireless/b43/Makefile
3@@ -17,7 +17,7 @@ b43-y += xmit.o
4 b43-y += lo.o
5 b43-y += wa.o
6 b43-y += dma.o
7-b43-y += pio.o
8+b43-$(CONFIG_B43_PIO) += pio.o
9 b43-y += rfkill.o
10 b43-$(CONFIG_B43_LEDS) += leds.o
11 b43-$(CONFIG_B43_PCMCIA) += pcmcia.o
12--- a/drivers/net/wireless/b43/main.c
13+++ b/drivers/net/wireless/b43/main.c
14@@ -1834,9 +1834,11 @@ static void b43_do_interrupt_thread(stru
15                    dma_reason[4], dma_reason[5]);
16             b43err(dev->wl, "This device does not support DMA "
17                    "on your system. It will now be switched to PIO.\n");
18+#ifdef CONFIG_B43_PIO
19             /* Fall back to PIO transfers if we get fatal DMA errors! */
20             dev->use_pio = 1;
21             b43_controller_restart(dev, "DMA error");
22+#endif
23             return;
24         }
25         if (merged_dma_reason & B43_DMAIRQ_NONFATALMASK) {
26--- a/drivers/net/wireless/b43/pio.h
27+++ b/drivers/net/wireless/b43/pio.h
28@@ -150,7 +150,7 @@ static inline void b43_piorx_write32(str
29     b43_write32(q->dev, q->mmio_base + offset, value);
30 }
31 
32-
33+#ifdef CONFIG_B43_PIO
34 int b43_pio_init(struct b43_wldev *dev);
35 void b43_pio_free(struct b43_wldev *dev);
36 
37@@ -161,5 +161,37 @@ void b43_pio_rx(struct b43_pio_rxqueue *
38 
39 void b43_pio_tx_suspend(struct b43_wldev *dev);
40 void b43_pio_tx_resume(struct b43_wldev *dev);
41+#else
42+static inline int b43_pio_init(struct b43_wldev *dev)
43+{
44+ return 0;
45+}
46+
47+static inline void b43_pio_free(struct b43_wldev *dev)
48+{
49+}
50+
51+static inline int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *skb)
52+{
53+ return 0;
54+}
55+
56+static inline void b43_pio_handle_txstatus(struct b43_wldev *dev,
57+ const struct b43_txstatus *status)
58+{
59+}
60+
61+static inline void b43_pio_rx(struct b43_pio_rxqueue *q)
62+{
63+}
64+
65+static inline void b43_pio_tx_suspend(struct b43_wldev *dev)
66+{
67+}
68+
69+static inline void b43_pio_tx_resume(struct b43_wldev *dev)
70+{
71+}
72+#endif /* CONFIG_B43_PIO */
73 
74 #endif /* B43_PIO_H_ */
75

Archive Download this file



interactive