|
@@ -82,7 +82,7 @@ static void amd_set_drive(ide_drive_t *drive, const u8 speed)
|
|
|
{
|
|
|
ide_hwif_t *hwif = drive->hwif;
|
|
|
struct pci_dev *dev = to_pci_dev(hwif->dev);
|
|
|
- ide_drive_t *peer = hwif->drives + (~drive->dn & 1);
|
|
|
+ ide_drive_t *peer = ide_get_pair_dev(drive);
|
|
|
struct ide_timing t, p;
|
|
|
int T, UT;
|
|
|
u8 udma_mask = hwif->ultra_mask;
|
|
@@ -92,7 +92,7 @@ static void amd_set_drive(ide_drive_t *drive, const u8 speed)
|
|
|
|
|
|
ide_timing_compute(drive, speed, &t, T, UT);
|
|
|
|
|
|
- if (peer->dev_flags & IDE_DFLAG_PRESENT) {
|
|
|
+ if (peer) {
|
|
|
ide_timing_compute(peer, peer->current_speed, &p, T, UT);
|
|
|
ide_timing_merge(&p, &t, &t, IDE_TIMING_8BIT);
|
|
|
}
|