lkml.org 
[lkml]   [2020]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 082/191] net: korina: fix kfree of rx/tx descriptor array
    Date
    From: Valentin Vidic <vvidic@valentin-vidic.from.hr>

    [ Upstream commit 3af5f0f5c74ecbaf757ef06c3f80d56751277637 ]

    kmalloc returns KSEG0 addresses so convert back from KSEG1
    in kfree. Also make sure array is freed when the driver is
    unloaded from the kernel.

    Fixes: ef11291bcd5f ("Add support the Korina (IDT RC32434) Ethernet MAC")
    Signed-off-by: Valentin Vidic <vvidic@valentin-vidic.from.hr>
    Acked-by: Willem de Bruijn <willemb@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/korina.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/net/ethernet/korina.c b/drivers/net/ethernet/korina.c
    index 3c0a6451273df..1357d464e8c43 100644
    --- a/drivers/net/ethernet/korina.c
    +++ b/drivers/net/ethernet/korina.c
    @@ -1188,7 +1188,7 @@ static int korina_probe(struct platform_device *pdev)
    return rc;

    probe_err_register:
    - kfree(lp->td_ring);
    + kfree(KSEG0ADDR(lp->td_ring));
    probe_err_td_ring:
    iounmap(lp->tx_dma_regs);
    probe_err_dma_tx:
    @@ -1208,6 +1208,7 @@ static int korina_remove(struct platform_device *pdev)
    iounmap(lp->eth_regs);
    iounmap(lp->rx_dma_regs);
    iounmap(lp->tx_dma_regs);
    + kfree(KSEG0ADDR(lp->td_ring));

    unregister_netdev(bif->dev);
    free_netdev(bif->dev);
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-10-27 19:39    [W:4.068 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site