Re: [PATCH 10/16] dma-debug: add add checking for map/unmap_sg

From: Evgeniy Polyakov
Date: Fri Jan 09 2009 - 13:08:50 EST


On Fri, Jan 09, 2009 at 05:19:24PM +0100, Joerg Roedel (joerg.roedel@xxxxxxx) wrote:
> +void debug_map_sg(struct device *dev, struct scatterlist *sg,
> + int nents, int direction)
> +{
> + struct dma_debug_entry *entry;
> + struct scatterlist *s;
> + int i;
> +
> + if (global_disable)
> + return;
> +
> + for_each_sg(sg, s, nents, i) {
> + entry = dma_entry_alloc();
> + if (!entry)
> + return;
> +
> + entry->type = dma_debug_sg;
> + entry->dev = dev;
> + entry->cpu_addr = sg_virt(s);
> + entry->size = s->length;
> + entry->dev_addr = s->dma_address;
> + entry->direction = direction;
> +
> + add_dma_entry(entry);
> + }
> +}
> +EXPORT_SYMBOL(debug_map_sg);
> +
> +void debug_unmap_sg(struct device *dev, struct scatterlist *sglist,
> + int nelems, int dir)
> +{
> + struct scatterlist *s;
> + int i;
> +
> + if (global_disable)
> + return;
> +
> + for_each_sg(sglist, s, nelems, i) {
> +
> + struct dma_debug_entry ref = {
> + .type = dma_debug_sg,
> + .dev = dev,
> + .cpu_addr = sg_virt(s),
> + .dev_addr = s->dma_address,
> + .size = s->length,
> + .direction = dir,
> + };
> +
> + check_unmap(&ref);

Will this print false errors if above map debug failed to add an entry
into the list?

--
Evgeniy Polyakov
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/