On Thu, May 29 2014, Joonsoo Kim <[email protected]> wrote: > '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 <[email protected]>
Acked-by: Michal Nazarewicz <[email protected]> > diff --git a/drivers/base/dma-contiguous.c b/drivers/base/dma-contiguous.c > index 6f6bffc..83969f8 100644 > --- a/drivers/base/dma-contiguous.c > +++ b/drivers/base/dma-contiguous.c > @@ -331,7 +331,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); > -- > 1.7.9.5 -- Best regards, _ _ .o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o ..o | Computer Science, Michał “mina86” Nazarewicz (o o) ooo +--<[email protected]>--<xmpp:[email protected]>--ooO--(_)--Ooo-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

