Messages in this thread Patch in this message | | | Date | Tue, 27 Jul 2004 18:46:29 -0400 | From | Alan Cox <> | Subject | PATCH: Fix ide probe double detection |
| |
Some devices don't decode master/slave - notably PCMCIA adapters. Unfortunately for us some also do, which makes it hard to guess if we should probe the slave.
This patch fixes the problem by probing the slave and then using the model and serial information to spot undecoded pairs. An additional check is done to catch pairs of pre ATA devices just in case.
Alan
diff -u --new-file --recursive --exclude-from /usr/src/exclude linux-2.6.7/drivers/ide/ide-probe.c 2.6.7-ac/drivers/ide/ide-probe.c --- linux-2.6.7/drivers/ide/ide-probe.c 2004-06-16 21:11:35.000000000 +0100 +++ 2.6.7-ac/drivers/ide/ide-probe.c 2004-06-16 21:19:28.000000000 +0100 @@ -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 || - 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/
| |