Problem initializing PCI boards where IRQ has to be guessed
From: Marty Leisner
Date: Thu Sep 30 2004 - 15:29:10 EST
I had this problem in 2.4.27...the same code is in 2.6.8.1
If the bios doesn't assign an interrupt, the guessing algorithm is
able to work only in a very special case (when the mask is one bit).
In 2.4.27 (I have lxr.linux.no for 2.4.26, its the same in
2.6.8.1)
933 if (!irq) {
934 DBG(" ... failed\n");
935 if (newirq && mask == (1 << newirq)) {
936 msg = "Guessed";
937 irq = newirq;
938 } else
939 return 0;
In 2.4.27 I have:
@@ -942,7 +939,8 @@
if (!irq) {
DBG(" ... failed\n");
- - if (newirq && mask == (1 << newirq)) {
+ if (newirq && (mask & (1 << newirq))) {
+ /* newirq is a routable interrupt */
msg = "Guessed";
irq = newirq;
} else
marty mleisner@xxxxxxxxxxxxxxxx
Don't confuse education with schooling.
Milton Friedman to Yogi Berra
-
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/