lkml.org 
[lkml]   [2021]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 468/530] net: ethernet: ixp4xx: Set the DMA masks explicitly
    Date
    From: Linus Walleij <linus.walleij@linaro.org>

    [ Upstream commit 8d892d60941b00c86d2029c8a99db24ab4979673 ]

    The former fix only papered over the actual problem: the
    ethernet core expects the netdev .dev member to have the
    proper DMA masks set, or there will be BUG_ON() triggered
    in kernel/dma/mapping.c.

    Fix this by simply copying dma_mask and dma_mask_coherent
    from the parent device.

    Fixes: e45d0fad4a5f ("net: ethernet: ixp4xx: Use parent dev for DMA pool")
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/xscale/ixp4xx_eth.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    diff --git a/drivers/net/ethernet/xscale/ixp4xx_eth.c b/drivers/net/ethernet/xscale/ixp4xx_eth.c
    index 2e5202923510..403358f2c853 100644
    --- a/drivers/net/ethernet/xscale/ixp4xx_eth.c
    +++ b/drivers/net/ethernet/xscale/ixp4xx_eth.c
    @@ -1086,7 +1086,7 @@ static int init_queues(struct port *port)
    int i;

    if (!ports_open) {
    - dma_pool = dma_pool_create(DRV_NAME, port->netdev->dev.parent,
    + dma_pool = dma_pool_create(DRV_NAME, &port->netdev->dev,
    POOL_ALLOC_SIZE, 32, 0);
    if (!dma_pool)
    return -ENOMEM;
    @@ -1436,6 +1436,9 @@ static int ixp4xx_eth_probe(struct platform_device *pdev)
    ndev->netdev_ops = &ixp4xx_netdev_ops;
    ndev->ethtool_ops = &ixp4xx_ethtool_ops;
    ndev->tx_queue_len = 100;
    + /* Inherit the DMA masks from the platform device */
    + ndev->dev.dma_mask = dev->dma_mask;
    + ndev->dev.coherent_dma_mask = dev->coherent_dma_mask;

    netif_napi_add(ndev, &port->napi, eth_poll, NAPI_WEIGHT);

    --
    2.30.2


    \
     
     \ /
      Last update: 2021-05-12 19:01    [W:4.056 / U:0.440 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site