diff options
| author | Søren Schmidt <sos@FreeBSD.org> | 2000-08-06 18:01:47 +0000 |
|---|---|---|
| committer | Søren Schmidt <sos@FreeBSD.org> | 2000-08-06 18:01:47 +0000 |
| commit | e7d1a5c2b16ba147f127587831f729e73f32522a (patch) | |
| tree | 5b44703d64e16917195d97c5ec3f60df0d05915d /sys/dev/ata | |
| parent | 1da729a59ed7a72493cf02725db053ddd8a7d1ad (diff) | |
Notes
Diffstat (limited to 'sys/dev/ata')
| -rw-r--r-- | sys/dev/ata/ata-disk.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c index a11e76635d612..cd09f8329b6c4 100644 --- a/sys/dev/ata/ata-disk.c +++ b/sys/dev/ata/ata-disk.c @@ -117,11 +117,13 @@ ad_attach(struct ata_softc *scp, int32_t device) /* use multiple sectors/interrupt if device supports it */ adp->transfersize = DEV_BSIZE; - secsperint = max(1, min(AD_PARAM->nsecperint, 16)); - if (!ata_command(adp->controller, adp->unit, ATA_C_SET_MULTI, - 0, 0, 0, secsperint, 0, ATA_WAIT_INTR) && - ata_wait(adp->controller, adp->unit, ATA_S_READY) >= 0) + if (ad_version(AD_PARAM->versmajor)) { + secsperint = max(1, min(AD_PARAM->nsecperint, 16)); + if (!ata_command(adp->controller, adp->unit, ATA_C_SET_MULTI, + 0, 0, 0, secsperint, 0, ATA_WAIT_INTR) && + ata_wait(adp->controller, adp->unit, ATA_S_READY) >= 0) adp->transfersize *= secsperint; + } /* enable read/write cacheing if not default on device */ if (ata_command(adp->controller, adp->unit, ATA_C_SETFEATURES, |
