Le 11/12/2020 à 17:07, David Laight a écrit :
From: Christophe Leroy
Sent: 11 December 2020 15:22

Le 11/12/2020 à 09:52, Xu Wang a écrit :
Remove casting the values returned by dma_alloc_coherent.

Can you explain more in the commit log ?

As far as I can see, dma_alloc_coherent() doesn't return __iomem, and ring_base 
member is __iomem

Which is probably wrong - that is the kernel address of kernel memory.
So it shouldn't have the __iomem marker.

That's where the buffer descriptors are, the driver accesses to the content of the buffer descriptors using the IO accessors in_be16()/out_be16(). Is it not correct ?

Christophe


I wonder what else is wrong....

        David


Christophe


Signed-off-by: Xu Wang <vu...@iscas.ac.cn>
---
   drivers/net/ethernet/freescale/fs_enet/mac-fec.c | 2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/freescale/fs_enet/mac-fec.c
b/drivers/net/ethernet/freescale/fs_enet/mac-fec.c
index 99fe2c210d0f..3ae345676e50 100644
--- a/drivers/net/ethernet/freescale/fs_enet/mac-fec.c
+++ b/drivers/net/ethernet/freescale/fs_enet/mac-fec.c
@@ -131,7 +131,7 @@ static int allocate_bd(struct net_device *dev)
        struct fs_enet_private *fep = netdev_priv(dev);
        const struct fs_platform_info *fpi = fep->fpi;

-       fep->ring_base = (void __force __iomem *)dma_alloc_coherent(fep->dev,
+       fep->ring_base = dma_alloc_coherent(fep->dev,
                                            (fpi->tx_ring + fpi->rx_ring) *
                                            sizeof(cbd_t), &fep->ring_mem_addr,
                                            GFP_KERNEL);


-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, 
UK
Registration No: 1397386 (Wales)

Reply via email to