pata_legacy: fix access to control register for QDI6580
We need to mask out the port offset from the port number cached in ld_qdi->timing. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
committed by
Jeff Garzik
parent
43c7d17ee7
commit
6809e7301f
@@ -672,7 +672,7 @@ static void qdi6580dp_set_piomode(struct ata_port *ap, struct ata_device *adev)
|
|||||||
outb(timing, ld_qdi->timing + 2 * ap->port_no);
|
outb(timing, ld_qdi->timing + 2 * ap->port_no);
|
||||||
/* Clear the FIFO */
|
/* Clear the FIFO */
|
||||||
if (adev->class != ATA_DEV_ATA)
|
if (adev->class != ATA_DEV_ATA)
|
||||||
outb(0x5F, ld_qdi->timing + 3);
|
outb(0x5F, (ld_qdi->timing & 0xFFF0) + 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -707,7 +707,7 @@ static void qdi6580_set_piomode(struct ata_port *ap, struct ata_device *adev)
|
|||||||
outb(timing, ld_qdi->timing + 2 * adev->devno);
|
outb(timing, ld_qdi->timing + 2 * adev->devno);
|
||||||
/* Clear the FIFO */
|
/* Clear the FIFO */
|
||||||
if (adev->class != ATA_DEV_ATA)
|
if (adev->class != ATA_DEV_ATA)
|
||||||
outb(0x5F, ld_qdi->timing + 3);
|
outb(0x5F, (ld_qdi->timing & 0xFFF0) + 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user