--- linux-source-2.6.14.orig/drivers/ide/ide-iops.c 2005-10-28 01:02:08.000000000 +0100 +++ linux-source-2.6.14/drivers/ide/ide-iops.c 2005-11-05 14:58:04.000000000 +0000 @@ -1,6 +1,10 @@ /* + * linux/drivers/ide/ide-iops.c Version 0.38 Nov 05, 2005 * linux/drivers/ide/ide-iops.c Version 0.37 Mar 05, 2003 * + * Version 0.38 80pin cable detection for SATA drive + * (bruno_harbulot@yahoo.co.uk) + * * Copyright (C) 2000-2002 Andre Hedrick * Copyright (C) 2003 Red Hat * @@ -601,6 +605,14 @@ */ u8 eighty_ninty_three (ide_drive_t *drive) { + /* On SATA drives, word 93 (i.e. hw_config) should be 0. + * This can be tested with the hw_config or this: + if (ata_id_is_sata((u16*)(drive->id))) + return 1; + * (remember to include ) + */ + if (drive->id->hw_config == 0) + return 1; if(HWIF(drive)->udma_four == 0) return 0; if (!(drive->id->hw_config & 0x6000))