diff --git a/sys/dev/disk/nata/chipsets/ata-siliconimage.c b/sys/dev/disk/nata/chipsets/ata-siliconimage.c --- a/sys/dev/disk/nata/chipsets/ata-siliconimage.c +++ b/sys/dev/disk/nata/chipsets/ata-siliconimage.c @@ -407,7 +407,7 @@ else { pci_write_config(gparent, mreg, mval | (0x01 << (atadev->unit << 2)), 1); - pci_write_config(gparent, preg, piotimings[mode & ATA_MODE_MASK], 2); + pci_write_config(gparent, preg, piotimings[(mode & ATA_MODE_MASK) - ATA_PIO0], 2); } atadev->mode = mode; }