Re: [v3 2/4] ARM: dma-mapping: Refactor out to introduce__in_atomic_pool

From: Hiroshi Doyu
Date: Fri Aug 24 2012 - 07:40:20 EST


Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> wrote @ Fri, 24 Aug 2012 13:14:55 +0200:

> On Fri, Aug 24, 2012 at 11:29:03AM +0300, Hiroshi Doyu wrote:
> > Check the given range("start", "size") is included in "atomic_pool" or not.
> >
> > Signed-off-by: Hiroshi Doyu <hdoyu@xxxxxxxxxx>
> > ---
> > arch/arm/mm/dma-mapping.c | 25 +++++++++++++++++++------
> > 1 files changed, 19 insertions(+), 6 deletions(-)
> >
> > diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
> > index b14ee64..508fde1 100644
> > --- a/arch/arm/mm/dma-mapping.c
> > +++ b/arch/arm/mm/dma-mapping.c
> > @@ -501,19 +501,32 @@ static void *__alloc_from_pool(size_t size, struct page **ret_page)
> > return ptr;
> > }
> >
> > +static bool __in_atomic_pool(void *start, size_t size)
> > +{
> > + struct dma_pool *pool = &atomic_pool;
> > + void *end = start + size;
> > + void *pool_start = pool->vaddr;
> > + void *pool_end = pool->vaddr + pool->size;
> > +
> > + if (start < pool_start || start > pool_end)
> > + return false;
> > +
> > + if (end > pool_end) {
> > + WARN(1, "freeing wrong coherent size from pool\n");
>
> That does not tell what size or from what pool. Perhaps you should
> include some details, such as the 'size' value, the pool used, the
> range of the pool, etc. Something that will help _you_in the field
> be able to narrow down what might be wrong.

True. I'll.
--
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/