[PATCH V2] b43: disable parity check on BCMA devices
John W. Linville
linville at tuxdriver.com
Thu Jul 21 15:06:48 EDT 2011
On Wed, Jul 20, 2011 at 07:47:07PM +0200, Rafał Miłecki wrote:
> Analyze of MMIO dumps from BCM43224, BCM43225, BCM4313 and BCM4331 has
> shown that wl disables parity check for all that cards. This is required
> for receiving any packets from the hardware.
>
> Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
> ---
> V2: drop dependency on other patches, can be applied right away
> @@ -1069,6 +1078,11 @@ int b43_dma_init(struct b43_wldev *dev)
> #endif
> }
>
> + dma->parity = true;
> + /* TODO: find out which SSB devices need disabling parity */
> + if (dev->dev->bus_type == B43_BUS_BCMA)
> + dma->parity = false;
> +
> err = -ENOMEM;
> /* setup TX DMA channels. */
> dma->tx_ring_AC_BK = b43_setup_dmaring(dev, 0, 1, type);
drivers/net/wireless/b43/dma.c: In function ‘b43_dma_init’:
drivers/net/wireless/b43/dma.c:1083:28: error: ‘B43_BUS_BCMA’ undeclared (first use in this function)
drivers/net/wireless/b43/dma.c:1083:28: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [drivers/net/wireless/b43/dma.o] Error 1
make[1]: *** [drivers/net/wireless/b43] Error 2
make: *** [drivers/net/wireless/] Error 2
I fixed it up with a change like this:
diff --git a/drivers/net/wireless/b43/dma.c b/drivers/net/wireless/b43/dma.c
index 2e072f6..0953ce1 100644
--- a/drivers/net/wireless/b43/dma.c
+++ b/drivers/net/wireless/b43/dma.c
@@ -1079,9 +1079,11 @@ int b43_dma_init(struct b43_wldev *dev)
}
dma->parity = true;
+#ifdef CONFIG_B43_BCMA
/* TODO: find out which SSB devices need disabling parity */
if (dev->dev->bus_type == B43_BUS_BCMA)
dma->parity = false;
+#endif
err = -ENOMEM;
/* setup TX DMA channels. */
Please do be careful...
John
--
John W. Linville Someday the world will need a hero, and you
linville at tuxdriver.com might be all we have. Be ready.
More information about the b43-dev
mailing list