summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2006-06-28 11:26:58 (GMT)
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-28 21:59:06 (GMT)
commit1a1276e7b6cba549553285f74e87f702bfff6fac (patch)
tree4765d49634c9c1c0aca565287ba28b6c1b5910f9 /drivers
parent1e866f0bf89e829736a12599bb7f476d1c378646 (diff)
downloadlinux-fsl-qoriq-1a1276e7b6cba549553285f74e87f702bfff6fac.tar.xz
[PATCH] Old IDE, fix SATA detection for cabling
This is based on the proposed patches flying around but also checks that the device in question is new enough to have word 93 rather thanb blindly assuming word 93 == 0 means SATA (see ATA-5, ATA-7) Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ide/ide-iops.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c
index 97a49e7..32117f0 100644
--- a/drivers/ide/ide-iops.c
+++ b/drivers/ide/ide-iops.c
@@ -597,6 +597,10 @@ u8 eighty_ninty_three (ide_drive_t *drive)
{
if(HWIF(drive)->udma_four == 0)
return 0;
+
+ /* Check for SATA but only if we are ATA5 or higher */
+ if (drive->id->hw_config == 0 && (drive->id->major_rev_num & 0x7FE0))
+ return 1;
if (!(drive->id->hw_config & 0x6000))
return 0;
#ifndef CONFIG_IDEDMA_IVB