Commit 9ec148da authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: mite: introduce mite_free_dma_descs()

Introduce a helper function to handle the dma_free_coherent() of
the mite dma descriptors.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 48a73aed
......@@ -371,16 +371,24 @@ struct mite_ring *mite_alloc_ring(struct mite *mite)
};
EXPORT_SYMBOL_GPL(mite_alloc_ring);
static void mite_free_dma_descs(struct mite_ring *ring)
{
struct mite_dma_desc *descs = ring->descs;
if (descs) {
dma_free_coherent(ring->hw_dev,
ring->n_links * sizeof(*descs),
descs, ring->dma_addr);
ring->descs = NULL;
ring->dma_addr = 0;
ring->n_links = 0;
}
}
void mite_free_ring(struct mite_ring *ring)
{
if (ring) {
if (ring->descs) {
dma_free_coherent(ring->hw_dev,
ring->n_links *
sizeof(struct mite_dma_desc),
ring->descs,
ring->dma_addr);
}
mite_free_dma_descs(ring);
put_device(ring->hw_dev);
kfree(ring);
}
......@@ -467,16 +475,7 @@ int mite_buf_change(struct mite_ring *ring,
struct comedi_async *async = s->async;
unsigned int n_links;
if (ring->descs) {
dma_free_coherent(ring->hw_dev,
ring->n_links *
sizeof(struct mite_dma_desc),
ring->descs,
ring->dma_addr);
}
ring->descs = NULL;
ring->dma_addr = 0;
ring->n_links = 0;
mite_free_dma_descs(ring);
if (async->prealloc_bufsz == 0)
return 0;
......
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