ata: hpt366: fix incorrect mask when checking at cmd_high_time
authorColin Ian King <colin.king@canonical.com>
Tue, 12 Jul 2016 11:16:19 +0000 (12:16 +0100)
committerTejun Heo <tj@kernel.org>
Tue, 12 Jul 2016 15:02:05 +0000 (11:02 -0400)
According to the HPT366 data sheet, PCI config space dword 0x40-0x43
bits 11:8 specify the primary drive cmd_high_time, however,
currently just 3 bits of the 4 are being used because the mask
is 0x700 and not 0x0f00.  Fix the mask, allowing for the 40MHz clock
to be detected.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/pata_hpt366.c

index e5fb7525a5df4595c0ba8f969ee4e74d6639f6a7..a219a503c22959d3e020d90205fbe74df7fbd33f 100644 (file)
@@ -368,7 +368,7 @@ static int hpt36x_init_one(struct pci_dev *dev, const struct pci_device_id *id)
 
        /* PCI clocking determines the ATA timing values to use */
        /* info_hpt366 is safe against re-entry so we can scribble on it */
-       switch ((reg1 & 0x700) >> 8) {
+       switch ((reg1 & 0xf00) >> 8) {
        case 9:
                hpriv = &hpt366_40;
                break;