Re: [PATCH] ide: fix drive side 80c cable check, take 2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello, I wrote:

eighty_ninty_three() had word 93 validitity check but not the 80c bit
test itself (bit 12).  This increases the chance of incorrect wire
detection especially because host side cable detection is often
unreliable and we sometimes soley depend on drive side cable
detection.  Fix it.

Signed-off-by: Tejun Heo <htejun@xxxxxxxxx>

diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c
index badde63..6558055 100644
--- a/drivers/ide/ide-iops.c
+++ b/drivers/ide/ide-iops.c
@@ -607,6 +607,8 @@ u8 eighty_ninty_three (ide_drive_t *drive)
     if(!(drive->id->hw_config & 0x4000))
         return 0;
 #endif /* CONFIG_IDEDMA_IVB */
+    if (!(drive->id->hw_config & 0x2000))
+        return 0;

Haha, you know just *why* this was wrong? Bit 13 of the word 93 when *set* means 40c cable, not 80c! Look at the table 9 in ATA/PI-6, for example, and then into the bit description in the table 27.

Oops, that's a host side detection, the device side CBLID- seems to have the opposite levels. Should have really be looking at the table 8. :-<

     return 1;
 }

Actually, trying to find out why 'hdparm -i' clips the modes to udma2 sometimes...

MBR, Sergei
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux