For the record...

On 10/29/2015 10:28 AM, Peter Ujfalusi wrote:
> The use of idr was nice, but it was a bit heavy and we did not need the
> features it provides. Using simple bitmap to track allocated DMA channels
> is adequate here and it will be easier to add support for reserving
> channels later on.
> 
> Signed-off-by: Peter Ujfalusi <peter.ujfal...@ti.com>
> -     map->xbar_out = idr_alloc(&xbar->map_idr, NULL, 0, xbar->dma_requests,
> -                               GFP_KERNEL);
> +     mutex_lock(&xbar->mutex);
> +     map->xbar_out = find_next_zero_bit(xbar->dma_inuse, xbar->dma_requests,
> +                                        0);

find_first_zero_bit() ;)

> +     mutex_unlock(&xbar->mutex);
> +     if (map->xbar_out) {

Well, this is obviously wrong... Should have been:
        if (map->xbar_out == xbar->dma_requests) {


> +             dev_err(&pdev->dev, "Run out of free DMA requests\n");
> +             kfree(map);
> +             return ERR_PTR(-ENOMEM);
> +     }
> +     set_bit(map->xbar_out, xbar->dma_inuse);
> +

-- 
P├ęter
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to