On Wed, 9 Jan 2008 10:04:42 +0100 Jarek Poplawski <[EMAIL PROTECTED]> wrote:
> On Wed, Jan 09, 2008 at 08:57:53AM +0900, FUJITA Tomonori wrote: > ... > > diff --git a/lib/iommu-helper.c b/lib/iommu-helper.c > > new file mode 100644 > > index 0000000..495575a > > --- /dev/null > > +++ b/lib/iommu-helper.c > > @@ -0,0 +1,80 @@ > > +/* > > + * IOMMU helper functions for the free area management > > + */ > > + > > +#include <linux/module.h> > > +#include <linux/bitops.h> > > + > > +static unsigned long find_next_zero_area(unsigned long *map, > > + unsigned long size, > > + unsigned long start, > > + unsigned int nr, > > + unsigned long align_mask) > > +{ > > + unsigned long index, end, i; > > +again: > > + index = find_next_zero_bit(map, size, start); > > + > > + /* Align allocation */ > > + index = (index + align_mask) & ~align_mask; > > + > > + end = index + nr; > > + if (end >= size) > > + return -1; > > This '>=' looks doubtful to me, e.g.: > map points to 0s only, size = 64, nr = 64, > we get: index = 0; end = 64; > and: return -1 ?! You are right. I did it only because I didn't want to change the original code (iommu_range_alloc in arch/powerpc/kernel/iommu.c). I thought that there might be a mysterious reason for it so I let it alone since it's tiny loss. Thanks, -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html