summaryrefslogtreecommitdiffstats
path: root/drivers/atm
diff options
context:
space:
mode:
authorChristophe Jaillet <christophe.jaillet@wanadoo.fr>2016-07-17 09:03:24 +0200
committerDavid S. Miller <davem@davemloft.net>2016-07-19 20:30:26 +0200
commiteab814661945656d35d4a0e5870e932cd7139977 (patch)
treece123536138d57d9732e6741584f22124c0be9a6 /drivers/atm
parentnet: ti: cpmac: Use the correct function to free some resources. (diff)
downloadlinux-eab814661945656d35d4a0e5870e932cd7139977.tar.xz
linux-eab814661945656d35d4a0e5870e932cd7139977.zip
drivers: atm: nicstar: Use the correct function to free some resources
In 'get_scq', 'dma_alloc_coherent' has been used to allocate some resources, so we need to free them using 'dma_free_coherent' instead of 'kfree'. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/atm')
-rw-r--r--drivers/atm/nicstar.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/atm/nicstar.c b/drivers/atm/nicstar.c
index ddc4ceb85fc5..700ed15c2362 100644
--- a/drivers/atm/nicstar.c
+++ b/drivers/atm/nicstar.c
@@ -874,7 +874,8 @@ static scq_info *get_scq(ns_dev *card, int size, u32 scd)
scq->skb = kmalloc(sizeof(struct sk_buff *) *
(size / NS_SCQE_SIZE), GFP_KERNEL);
if (!scq->skb) {
- kfree(scq->org);
+ dma_free_coherent(&card->pcidev->dev,
+ 2 * size, scq->org, scq->dma);
kfree(scq);
return NULL;
}