On Fri, 29 Jul 2005, Linus Torvalds wrote: > Thanks. Just out of interest, does this patch fix it instead?
Indeed it does, thanks Linus! -cp > ---- > diff --git a/include/asm-i386/bitops.h b/include/asm-i386/bitops.h > --- a/include/asm-i386/bitops.h > +++ b/include/asm-i386/bitops.h > @@ -335,14 +335,13 @@ static inline unsigned long __ffs(unsign > static inline int find_first_bit(const unsigned long *addr, unsigned size) > { > int x = 0; > - do { > - if (*addr) > - return __ffs(*addr) + x; > - addr++; > - if (x >= size) > - break; > + > + while (x < size) { > + unsigned long val = *addr++; > + if (val) > + return __ffs(val) + x; > x += (sizeof(*addr)<<3); > - } while (1); > + } > return x; > } > > -- "Democracy can learn some things from Communism; for example, when a Communist politician is through, he is through." -- Unknown - 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/