Re: + remove-unneeded-check-in-bcm43xx.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 10, 2006 at 12:15:53AM -0700, [email protected] wrote:
> 
> The patch titled
> 
>      remove unneeded check in bcm43xx
> 
> has been added to the -mm tree.  Its filename is
> 
>      remove-unneeded-check-in-bcm43xx.patch

It has been NACKed by Michael Buesch. The problem is in the ppc
dma_alloc_coherent that returns a non suitable zone (it doesn't respect
dma_mask).

Please remove from -mm, sorry for bothering.

Benoit
> 
> See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
> out what to do about this
> 
> 
> From: Benoit Boissinot <[email protected]>
> 
> Since the driver already sets the correct dma_mask, there is no reason to
> bail there.  In fact if you have an iommu, I think you can have a address
> above 1G which will be ok for the device (if it isn't true then the powerpc
> dma_alloc_coherent with iommu needs to be fixed because it doesn't respect
> the the dma_mask).
> 
> Signed-off-by: Benoit Boissinot <[email protected]>
> Cc: "John W. Linville" <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
> ---
> 
>  drivers/net/wireless/bcm43xx/bcm43xx_dma.c |   23 -------------------
>  1 files changed, 23 deletions(-)
> 
> diff -puN drivers/net/wireless/bcm43xx/bcm43xx_dma.c~remove-unneeded-check-in-bcm43xx drivers/net/wireless/bcm43xx/bcm43xx_dma.c
> --- devel/drivers/net/wireless/bcm43xx/bcm43xx_dma.c~remove-unneeded-check-in-bcm43xx	2006-04-10 00:15:40.000000000 -0700
> +++ devel-akpm/drivers/net/wireless/bcm43xx/bcm43xx_dma.c	2006-04-10 00:15:40.000000000 -0700
> @@ -194,14 +194,6 @@ static int alloc_ringmemory(struct bcm43
>  		printk(KERN_ERR PFX "DMA ringmemory allocation failed\n");
>  		return -ENOMEM;
>  	}
> -	if (ring->dmabase + BCM43xx_DMA_RINGMEMSIZE > BCM43xx_DMA_BUSADDRMAX) {
> -		printk(KERN_ERR PFX ">>>FATAL ERROR<<<  DMA RINGMEMORY >1G "
> -				    "(0x%08x, len: %lu)\n",
> -		       ring->dmabase, BCM43xx_DMA_RINGMEMSIZE);
> -		dma_free_coherent(dev, BCM43xx_DMA_RINGMEMSIZE,
> -				  ring->vbase, ring->dmabase);
> -		return -ENOMEM;
> -	}
>  	assert(!(ring->dmabase & 0x000003FF));
>  	memset(ring->vbase, 0, BCM43xx_DMA_RINGMEMSIZE);
>  
> @@ -303,14 +295,6 @@ static int setup_rx_descbuffer(struct bc
>  	if (unlikely(!skb))
>  		return -ENOMEM;
>  	dmaaddr = map_descbuffer(ring, skb->data, ring->rx_buffersize, 0);
> -	if (unlikely(dmaaddr + ring->rx_buffersize > BCM43xx_DMA_BUSADDRMAX)) {
> -		unmap_descbuffer(ring, dmaaddr, ring->rx_buffersize, 0);
> -		dev_kfree_skb_any(skb);
> -		printk(KERN_ERR PFX ">>>FATAL ERROR<<<  DMA RX SKB >1G "
> -				    "(0x%08x, len: %u)\n",
> -		       dmaaddr, ring->rx_buffersize);
> -		return -ENOMEM;
> -	}
>  	meta->skb = skb;
>  	meta->dmaaddr = dmaaddr;
>  	skb->dev = ring->bcm->net_dev;
> @@ -726,13 +710,6 @@ static int dma_tx_fragment(struct bcm43x
>  
>  	meta->skb = skb;
>  	meta->dmaaddr = map_descbuffer(ring, skb->data, skb->len, 1);
> -	if (unlikely(meta->dmaaddr + skb->len > BCM43xx_DMA_BUSADDRMAX)) {
> -		return_slot(ring, slot);
> -		printk(KERN_ERR PFX ">>>FATAL ERROR<<<  DMA TX SKB >1G "
> -				    "(0x%08x, len: %u)\n",
> -		       meta->dmaaddr, skb->len);
> -		return -ENOMEM;
> -	}
>  
>  	desc_addr = (u32)(meta->dmaaddr + ring->memoffset);
>  	desc_ctl = BCM43xx_DMADTOR_FRAMESTART | BCM43xx_DMADTOR_FRAMEEND;
> _
> 
> Patches currently in -mm which might be from [email protected] are
> 
> remove-unneeded-check-in-bcm43xx.patch
> 

-- 
powered by bash/screen/(urxvt/fvwm|linux-console)/gentoo/gnu/linux OS
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux