Commit 731e6f00 authored by Christophe Jaillet's avatar Christophe Jaillet Committed by David S. Miller

net: ti: cpmac: Use the correct function to free some resources.

In 'cpmac_open', 'dma_alloc_coherent' has been used to allocate some
resources, so we need to free them using 'dma_free_coherent' instead
of 'kfree'.

Also, we don't need to free these resources if the allocation has failed.
So I have slighly modified the goto label in this case.
Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0d7eacbe
...@@ -1006,8 +1006,10 @@ static int cpmac_open(struct net_device *dev) ...@@ -1006,8 +1006,10 @@ static int cpmac_open(struct net_device *dev)
kfree_skb(priv->rx_head[i].skb); kfree_skb(priv->rx_head[i].skb);
} }
} }
dma_free_coherent(&dev->dev, sizeof(struct cpmac_desc) * size,
priv->desc_ring, priv->dma_ring);
fail_alloc: fail_alloc:
kfree(priv->desc_ring);
iounmap(priv->regs); iounmap(priv->regs);
fail_remap: fail_remap:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment