b30b417d80d0fe45ef51fff884046f8987887866
[openwrt-10.03/.git] / package / mac80211 / patches / 810-b43_no_pio.patch
1 --- a/drivers/net/wireless/b43/Makefile
2 +++ b/drivers/net/wireless/b43/Makefile
3 @@ -14,7 +14,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-y                                += 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 @@ -1812,9 +1812,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 +#if 0
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 @@ -151,15 +151,34 @@ static inline void b43_piorx_write32(str
29  }
30  
31  
32 -int b43_pio_init(struct b43_wldev *dev);
33 -void b43_pio_free(struct b43_wldev *dev);
34 +static inline int b43_pio_init(struct b43_wldev *dev)
35 +{
36 +       return 0;
37 +}
38 +
39 +static inline void b43_pio_free(struct b43_wldev *dev)
40 +{
41 +}
42 +
43 +static inline int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *skb)
44 +{
45 +       return 0;
46 +}
47  
48 -int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *skb);
49 -void b43_pio_handle_txstatus(struct b43_wldev *dev,
50 -                            const struct b43_txstatus *status);
51 -void b43_pio_rx(struct b43_pio_rxqueue *q);
52 +static inline void b43_pio_handle_txstatus(struct b43_wldev *dev,
53 +                                          const struct b43_txstatus *status)
54 +{
55 +}
56 +
57 +static inline void b43_pio_rx(struct b43_pio_rxqueue *q)
58 +{
59 +}
60  
61 -void b43_pio_tx_suspend(struct b43_wldev *dev);
62 -void b43_pio_tx_resume(struct b43_wldev *dev);
63 +static inline void b43_pio_tx_suspend(struct b43_wldev *dev)
64 +{
65 +}
66 +static inline void b43_pio_tx_resume(struct b43_wldev *dev)
67 +{
68 +}
69  
70  #endif /* B43_PIO_H_ */