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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to