A possible approach to the IDE shadow problem
Some IDE devices don't decode master/slave (notably PCMCIA CF stuff), other stuff has flash and disk mixed. Either assumption is broken so the kernel sometimes double detects devices like microdrives.
It occurred to me there may be a very easy way to fix this, so this patch is for comment [Linus don't apply it yet 8)]
drivers/ide/ide-probe.c +10 -0
@@ -749,6 +749,16 @@ide_drive_t *drive = &hwif->drives[unit]; drive->dn = (hwif->channel ?2 :0 ) + unit; (void )probe_for_drive (drive); +if (drive->present && hwif->present && unit ==1 ) + { +if (strcmp (hwif->drives[0 ].id->model, drive->id->model) ==0 && +strcmp (drive->id->model,"UNKNOWN" ) &&/* Don't do this for non ATA or for noprobe */ +strncmp (hwif->drives[0 ].id->serial_no, drive->id->serial_no,20 ) ==0 ) + { +printk (KERN_WARNING "ide-probe: ignoring undecoded slave\n" ); + drive->present =0 ; + } + }if (drive->present && !hwif->present) { hwif->present =1 ; if (hwif->chipset != ide_4drives ||