Hello.
Tejun Heo wrote:
hpt366 is strange in that its cable detection register uses the higher
bit for master, so the testing should be 2 >> port_no instead of 1 <<
For primary -- the cable bits are per-channel, not per-device.
port_no. Fix it.
Info provided by Alan Cox.
Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
Acked-by: Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx>
Index: work/drivers/ata/pata_hpt366.c
===================================================================
--- work.orig/drivers/ata/pata_hpt366.c
+++ work/drivers/ata/pata_hpt366.c
@@ -215,7 +215,7 @@ static int hpt36x_cable_detect(struct at
struct pci_dev *pdev = to_pci_dev(ap->host->dev);
pci_read_config_byte(pdev, 0x5A, &ata66);
- if (ata66 & (1 << ap->port_no))
+ if (ata66 & (2 >> ap->port_no))
HPT36x are single channel per function, so the shift can be removed.
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