aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/810-b43_no_pio.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@openwrt.org>2011-04-19 21:43:19 +0000
committerHauke Mehrtens <hauke@openwrt.org>2011-04-19 21:43:19 +0000
commit4842cc42bae08ac1e8263e0bebc3930c15a87858 (patch)
treebfe2d6cbe84b23be26501c9abd74d79f6a526a2b /package/mac80211/patches/810-b43_no_pio.patch
parent0d777b10cf887316876f5a988c186f978808b5fb (diff)
downloadupstream-4842cc42bae08ac1e8263e0bebc3930c15a87858.tar.gz
upstream-4842cc42bae08ac1e8263e0bebc3930c15a87858.tar.bz2
upstream-4842cc42bae08ac1e8263e0bebc3930c15a87858.zip
mac80211: b43: Expose PIO mode fallback
Allow reenabling the PIO mode fallback for b43. Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26735 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/810-b43_no_pio.patch')
-rw-r--r--package/mac80211/patches/810-b43_no_pio.patch30
1 files changed, 17 insertions, 13 deletions
diff --git a/package/mac80211/patches/810-b43_no_pio.patch b/package/mac80211/patches/810-b43_no_pio.patch
index b30b417d80..037b8a3760 100644
--- a/package/mac80211/patches/810-b43_no_pio.patch
+++ b/package/mac80211/patches/810-b43_no_pio.patch
@@ -5,7 +5,7 @@
b43-y += wa.o
b43-y += dma.o
-b43-y += pio.o
-+# b43-y += pio.o
++b43-$(CONFIG_B43_PIO) += pio.o
b43-y += rfkill.o
b43-$(CONFIG_B43_LEDS) += leds.o
b43-$(CONFIG_B43_PCMCIA) += pcmcia.o
@@ -15,7 +15,7 @@
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
++#ifdef CONFIG_B43_PIO
/* Fall back to PIO transfers if we get fatal DMA errors! */
dev->use_pio = 1;
b43_controller_restart(dev, "DMA error");
@@ -25,12 +25,20 @@
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
+@@ -150,7 +150,7 @@ static inline void b43_piorx_write32(str
+ b43_write32(q->dev, q->mmio_base + offset, value);
}
+-
++#ifdef CONFIG_B43_PIO
+ int b43_pio_init(struct b43_wldev *dev);
+ void b43_pio_free(struct b43_wldev *dev);
--int b43_pio_init(struct b43_wldev *dev);
--void b43_pio_free(struct b43_wldev *dev);
+@@ -161,5 +161,37 @@ void b43_pio_rx(struct b43_pio_rxqueue *
+
+ void b43_pio_tx_suspend(struct b43_wldev *dev);
+ void b43_pio_tx_resume(struct b43_wldev *dev);
++#else
+static inline int b43_pio_init(struct b43_wldev *dev)
+{
+ return 0;
@@ -44,11 +52,7 @@
+{
+ 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)
+{
@@ -57,14 +61,14 @@
+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 /* CONFIG_B43_PIO */
#endif /* B43_PIO_H_ */