|
@@ -1009,6 +1009,7 @@ static void dmaengine_unmap(struct kref *kref)
|
|
dma_unmap_page(dev, unmap->addr[i], unmap->len,
|
|
dma_unmap_page(dev, unmap->addr[i], unmap->len,
|
|
DMA_BIDIRECTIONAL);
|
|
DMA_BIDIRECTIONAL);
|
|
}
|
|
}
|
|
|
|
+ cnt = unmap->map_cnt;
|
|
mempool_free(unmap, __get_unmap_pool(cnt)->pool);
|
|
mempool_free(unmap, __get_unmap_pool(cnt)->pool);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1074,6 +1075,7 @@ dmaengine_get_unmap_data(struct device *dev, int nr, gfp_t flags)
|
|
memset(unmap, 0, sizeof(*unmap));
|
|
memset(unmap, 0, sizeof(*unmap));
|
|
kref_init(&unmap->kref);
|
|
kref_init(&unmap->kref);
|
|
unmap->dev = dev;
|
|
unmap->dev = dev;
|
|
|
|
+ unmap->map_cnt = nr;
|
|
|
|
|
|
return unmap;
|
|
return unmap;
|
|
}
|
|
}
|