|
@@ -154,7 +154,7 @@ static void via_set_speed(ide_hwif_t *hwif, u8 dn, struct ide_timing *timing)
|
|
|
static void via_set_drive(ide_drive_t *drive, const u8 speed)
|
|
|
{
|
|
|
ide_hwif_t *hwif = drive->hwif;
|
|
|
- ide_drive_t *peer = hwif->drives + (~drive->dn & 1);
|
|
|
+ ide_drive_t *peer = ide_get_pair_dev(drive);
|
|
|
struct pci_dev *dev = to_pci_dev(hwif->dev);
|
|
|
struct ide_host *host = pci_get_drvdata(dev);
|
|
|
struct via82cxxx_dev *vdev = host->host_priv;
|
|
@@ -173,7 +173,7 @@ static void via_set_drive(ide_drive_t *drive, const u8 speed)
|
|
|
|
|
|
ide_timing_compute(drive, speed, &t, T, UT);
|
|
|
|
|
|
- if (peer->present) {
|
|
|
+ if (peer) {
|
|
|
ide_timing_compute(peer, peer->current_speed, &p, T, UT);
|
|
|
ide_timing_merge(&p, &t, &t, IDE_TIMING_8BIT);
|
|
|
}
|