CMA: correct unlock target

'cma: Remove potential deadlock situation' introduces per cma area mutex
for bitmap management. It is good, but there is one mistake. When we
can't find appropriate area in bitmap, we release cma_mutex global lock
rather than cma->lock and this is a bug. So fix it.

Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
This commit is contained in:
Joonsoo Kim 2014-05-29 15:29:18 +09:00 committed by Marek Szyprowski
parent bb56d0dc23
commit f70e3c4f8b

View File

@ -309,7 +309,7 @@ struct page *dma_alloc_from_contiguous(struct device *dev, int count,
pageno = bitmap_find_next_zero_area(cma->bitmap, cma->count,
start, count, mask);
if (pageno >= cma->count) {
mutex_unlock(&cma_mutex);
mutex_unlock(&cma->lock);
break;
}
bitmap_set(cma->bitmap, pageno, count);