Hello,

On Fri, May 16, 2014 at 11:26:36AM +0300, Eli Billauer wrote:
> +dma_addr_t dmam_map_single(struct device *dev, void *ptr, size_t size,
> +                        enum dma_data_direction direction)
> +
> +{
> +     struct dma_devres *dr;
> +     dma_addr_t dma_handle;
> +
> +     dr = devres_alloc(dmam_map_single_release, sizeof(*dr), GFP_KERNEL);
> +     if (!dr)
> +             return 0;
> +
> +     dma_handle = dma_map_single(dev, ptr, size, direction);

Don't we wanna map the underlying operation - dma_map_single_attrs() -
instead?

> +     if (dma_mapping_error(dev, dma_handle)) {
> +             devres_free(dr);
> +             return 0;

Can't we just keep returning dma_handle?  Even if that means invoking
->mapping_error() twice?  It's yucky to have subtly different error
return especially because in most cases it won't fail.

Thanks.

-- 
tejun
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to