From: Alan Cox This is a revised version of the IDE probe undecoded slave detection patch. It replaces the one in the -mm tree. It contains just the probe code so none of the other IDE stuff thats pending Bartlomiej deciding which little bits to merge first, and stands alone. Signed-off-by: Andrew Morton --- 25-akpm/drivers/ide/ide-probe.c | 15 +++++++++------ 1 files changed, 9 insertions(+), 6 deletions(-) diff -puN drivers/ide/ide-probe.c~ide-probe drivers/ide/ide-probe.c --- 25/drivers/ide/ide-probe.c~ide-probe 2004-10-01 20:15:45.812226088 -0700 +++ 25-akpm/drivers/ide/ide-probe.c 2004-10-01 20:15:45.816225480 -0700 @@ -737,13 +737,16 @@ static void probe_hwif(ide_hwif_t *hwif) 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 && - /* Don't do this for noprobe or non ATA */ - strcmp(drive->id->model, "UNKNOWN") && - /* And beware of confused Maxtor drives that go "M0000000000" + if(strcmp(hwif->drives[0].id->model, drive->id->model) == 0 && + /* Don't do this for noprobe or non ATA */ + strcmp(drive->id->model, "UNKNOWN") && + /* ITE haven't got this figured out either (see the quirk code too) */ + !strstr(drive->id->model, "Integrated Technology Express") && + /* And beware of confused Maxtor drives that go "M0000000000" "The SN# is garbage in the ID block..." [Eric] */ - strncmp(drive->id->serial_no, "M0000000000000000000", 20) && - strncmp(hwif->drives[0].id->serial_no, drive->id->serial_no, 20) == 0) { + strncmp(drive->id->serial_no, "M0000000000000000000", 20) && + 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; } _