But in b44_init(), there is no device instances.
 
 
 
------------------ Original ------------------
From:  "Christoph Hellwig"<h...@lst.de>;
Date:  Fri, Nov 10, 2017 08:30 PM
To:  "Huacai Chen"<che...@lemote.com>; 
Cc:  "Christoph Hellwig"<h...@lst.de>; "Marek 
Szyprowski"<m.szyprow...@samsung.com>; "Robin Murphy"<robin.mur...@arm.com>; 
"Andrew Morton"<a...@linux-foundation.org>; "Fuxin Zhang"<zhan...@lemote.com>; 
"linux-kernel"<linux-kernel@vger.kernel.org>; "Ralf 
Baechle"<r...@linux-mips.org>; "James Hogan"<james.ho...@imgtec.com>; 
"linux-mips"<linux-m...@linux-mips.org>; "James E . J . 
Bottomley"<j...@linux.vnet.ibm.com>; "Martin K . 
Petersen"<martin.peter...@oracle.com>; 
"linux-scsi"<linux-s...@vger.kernel.org>; "stable"<sta...@vger.kernel.org>; 
"Michael S . Tsirkin"<m...@redhat.com>; "Pawel Osciak"<pa...@osciak.com>; 
"Kyungmin Park"<kyungmin.p...@samsung.com>; "Michael 
Chan"<michael.c...@broadcom.com>; "Benjamin 
Herrenschmidt"<b...@kernel.crashing.org>; "Ivan Mikhaylov"<i...@ru.ibm.com>; 
"Tariq Toukan"<tar...@mellanox.com>; "Andy Gross"<agr...@codeaurora.org>; "Mark 
A . Greer"<mgr...@animalcreek.com>; "Robert Baldyga"<r.bald...@hackerion.com>; 
Subject:  Re: [PATCH V9 1/4] dma-mapping: Rework dma_get_cache_alignment()

 
> diff --git a/drivers/net/ethernet/broadcom/b44.c 
> b/drivers/net/ethernet/broadcom/b44.c
> index a1125d1..2f6ffe5 100644
> --- a/drivers/net/ethernet/broadcom/b44.c
> +++ b/drivers/net/ethernet/broadcom/b44.c
> @@ -2344,6 +2344,10 @@ static int b44_init_one(struct ssb_device *sdev,
>       struct net_device *dev;
>       struct b44 *bp;
>       int err;
> +     unsigned int dma_desc_align_size = 
> dma_get_cache_alignment(sdev->dma_dev);
> +
> +     /* Setup paramaters for syncing RX/TX DMA descriptors */
> +     dma_desc_sync_size = max_t(unsigned int, dma_desc_align_size, 
> sizeof(struct dma_desc));
>  
>       instance++;
>  
> @@ -2587,12 +2591,8 @@ static inline void b44_pci_exit(void)
>  
>  static int __init b44_init(void)
>  {
> -     unsigned int dma_desc_align_size = dma_get_cache_alignment();
>       int err;
>  
> -     /* Setup paramaters for syncing RX/TX DMA descriptors */
> -     dma_desc_sync_size = max_t(unsigned int, dma_desc_align_size, 
> sizeof(struct dma_desc));
> -

This looks wrong - you override a global variable for each probed
device.

Reply via email to