DragonFlyBSD Kernel Audit
DF-1782 / fix.diff
← back to finding ↓ download raw
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;
 }