From: Alan Cox <alan@redhat.com>

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 <akpm@osdl.org>
---

 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;
 			}
_