[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