Attached is a patch which fixes the boot problems on I-Opener hardware. The problem is not the IDE chipset, as some had assumed, but rather the SanDisk flash disk. Since flashdisks typically don't have slaves, there is code in the kernel to avoid checking for a slave disk if a flashdisk is detected on an IDE interface. The problem is that the code as originally written has the side effect that if a flashdisk is detected as the slave disk on an interface (as it is on an I-Opener if another disk is attached as master), it will mark the master as being not present even though it is. The attached patch (against 2.4.0-test8) adjusts the code to only mark the slave not present if a flashdisk is master, not vice-versa. -alex
--- drivers/ide/ide-probe.c.orig Sat Sep 30 13:38:36 2000 +++ drivers/ide/ide-probe.c Sat Sep 30 13:40:37 2000 @@ -161,8 +161,8 @@ * Prevent long system lockup probing later for non-existant * slave drive if the hwif is actually a flash memory card of some variety: */ - if (drive_is_flashcard(drive)) { - ide_drive_t *mate = &HWIF(drive)->drives[1^drive->select.b.unit]; + if (!drive->select.b.unit && drive_is_flashcard(drive)) { + ide_drive_t *mate = &HWIF(drive)->drives[1]; if (!mate->ata_flash) { mate->present = 0; mate->noprobe = 1;