Re: Linux 2.6.13-rc4 (snd-cs46xx)

From: Linus Torvalds
Date: Fri Jul 29 2005 - 12:33:17 EST




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