Messages in this thread Patch in this message |  | | | Date | Fri, 29 Jul 2005 10:29:43 -0700 (PDT) | | From | Linus Torvalds <> | | Subject | Re: Linux 2.6.13-rc4 (snd-cs46xx) |
| |
On Fri, 29 Jul 2005, Cal Peake wrote: > > Thanks Andrew! Indeed your suspicions are correct. Adding in all the > debugging moved the problem around, it now shows itself when probing > parport. Upon further investigation reverting the commit below seems to > have nixed the problem.
Thanks. Just out of interest, does this patch fix it instead?
Linus
---- 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; } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |