Re: irq 15: nobody cared! with KT600 chipset and 2.6.0-test9

From: Linus Torvalds
Date: Sat Nov 22 2003 - 21:00:57 EST



Oops.

I read your report lazily, and didn't do it right. I just noticed that it
isn't actually irq3 and the raid controller at 0:0f.0 that is the problem
at all: the problem is the regular legacy stuff on 0:0f.1: hdc/hdd that is
on irq15.

The IRQ probe for hdc fails, for some silly reason.
But we actually correctly _notice_ that it's on irq15, so I

Note how we say:

kernel: hdc: IRQ probe failed (0x3cfa)

but then a few lines later we _have_ figured it out and say

kernel: ide1 at 0x170-0x177,0x376 on irq 15

The problem _appears_ to be the fact that we already registered irq15 for
the IDE driver, which will cause the probe to fail (you can't probe
something that is already in use).

Can you try this patch, and see if it makes a difference? I'd also like to
see the full "dmesg" output (regardless of whether it works or not).

Linus

-----
===== drivers/ide/ide-probe.c 1.65 vs edited =====
--- 1.65/drivers/ide/ide-probe.c Wed Sep 3 09:52:16 2003
+++ edited/drivers/ide/ide-probe.c Sat Nov 22 17:59:04 2003
@@ -413,24 +413,17 @@
udelay(5);
irq = probe_irq_off(cookie);
if (!hwif->irq) {
- if (irq > 0) {
- hwif->irq = irq;
- } else {
- /* Mmmm.. multiple IRQs..
- * don't know which was ours
- */
- printk("%s: IRQ probe failed (0x%lx)\n",
- drive->name, cookie);
-#ifdef CONFIG_BLK_DEV_CMD640
-#ifdef CMD640_DUMP_REGS
- if (hwif->chipset == ide_cmd640) {
- printk("%s: Hmmm.. probably a driver "
- "problem.\n", drive->name);
- CMD640_DUMP_REGS;
- }
-#endif /* CMD640_DUMP_REGS */
-#endif /* CONFIG_BLK_DEV_CMD640 */
+ /* Mmmm.. multiple IRQs, and we don't know
+ * which was ours. We'd better guess.
+ */
+ if (irq <= 0) {
+ int guess = hwif->channel ? 15 : 14;
+
+ printk("%s: IRQ probe failed (0x%lx: %d). Guessing at %d\n",
+ drive->name, cookie, irq, guess);
+ irq = guess;
}
+ hwif->irq = irq;
}
}
return retval;

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