Re: Linux 2.6.13-rc4

From: Mickey Stein
Date: Fri Jul 29 2005 - 21:00:34 EST


Cal Peake wrote:

On Fri, 29 Jul 2005, Mickey Stein wrote:



This is regarding *-rc4 and *-rc4-git1: I slapped together my favorite config
and gave it a test run. It had a bit of a problem and ground to a halt after
spewing these into the log.

If I can find the time tomorrow morning, I'll leave parport_pc commented out
of modprobe.conf and see if something else pops loose. I don't use the
parallel port, but I try to keep a fairly robust config for noticing bugs.



Hi Mick,

Can you please try the patch below from Linus (or -git2 tomorrow) and confirm that it fixes it for you?

thx,
-cp

--- 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;
}



Linus Torvalds wrote:

On Fri, 29 Jul 2005, Mickey Stein wrote:


I've been quite low on time lately, so perhaps I missed something obvious in the notes. When I did the "$make xconfig" , there were no warnings about changes or new config params.



Does this fix it for you? (Already in the current git tree)

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;
}




I'm running on *-rc4 at the moment, so thanks very much for the patch.

I think there were ~3 of my modules producing similar output, but after I followed someone's advice about enabling most of the CONFIG_DEBUG_* switches, I experienced quite a bit more trouble getting anything to log (or do anything but freeze). Now, all the modules are loading fine.

If I get time I'll probably be asking which of the 9 or 10 CONFIG_DEB* switches are compatible with one another, but actually it may have just been the same bug that would hang me up when they were on. I'll test with the full CONFIG_DEBUG .config later on.

Appreciate it,

Mick
-
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/