After some investigation I found the relevant change and tried
reverting it. The resulting kernel works for me. Here's the diff:
========================================================================
--- drivers/ide/ide.c~ Thu Nov 28 23:53:13 2002
+++ drivers/ide/ide.c Sat Dec 21 18:25:59 2002
@@ -2456,7 +2456,6 @@
memcpy(hwif->io_ports, hwif->hw.io_ports, sizeof(hwif->hw.io_ports));
hwif->irq = hw->irq;
hwif->noprobe = 0;
- hwif->chipset = hw->chipset;
if (!initializing) {
ide_probe_module();
========================================================================
During my investigation I added some printk calls which make it
clearer what ide_setup objects to when it jumps to bad_option.
Perhaps these would be of more general use, diff below.
ttfn/rjk
========================================================================
--- drivers/ide/ide.c~ Thu Nov 28 23:53:13 2002
+++ drivers/ide/ide.c Sat Dec 21 18:25:59 2002
@@ -3427,12 +3426,16 @@
* Cryptic check to ensure chipset not already set for hwif:
*/
if (i > 0 || i <= -11) { /* is parameter a chipset name? */
- if (hwif->chipset != ide_unknown)
+ if (hwif->chipset != ide_unknown) {
+ printk(" -- chipset already specified");
goto bad_option; /* chipset already specified */
+ }
if (i <= -11 && i != -18 && hw != 0)
goto bad_hwif; /* chipset drivers are for "ide0=" only */
- if (i <= -11 && i != -18 && ide_hwifs[hw+1].chipset != ide_unknown)
+ if (i <= -11 && i != -18 && ide_hwifs[hw+1].chipset != ide_unknown) {
+ printk(" -- chipset for 2nd port already specified");
goto bad_option; /* chipset for 2nd port already specified */
+ }
printk("\n");
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/