浏览代码

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>
Christophe Jaillet 9 年之前
父节点
当前提交
eab8146619
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      drivers/atm/nicstar.c

+ 2 - 1
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 *) *
 	scq->skb = kmalloc(sizeof(struct sk_buff *) *
 			   (size / NS_SCQE_SIZE), GFP_KERNEL);
 			   (size / NS_SCQE_SIZE), GFP_KERNEL);
 	if (!scq->skb) {
 	if (!scq->skb) {
-		kfree(scq->org);
+		dma_free_coherent(&card->pcidev->dev,
+				  2 * size, scq->org, scq->dma);
 		kfree(scq);
 		kfree(scq);
 		return NULL;
 		return NULL;
 	}
 	}