summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2005-05-17 12:31:54 +0000
committersos <sos@FreeBSD.org>2005-05-17 12:31:54 +0000
commitb33daefd830ed7a39c89fd5442c381a82796a87f (patch)
tree4dc57f2c5ffe6aed7123d5c0197fbda9724e0022
parent22196abfb60c07d4d4ea45b39f23b151af9c4266 (diff)
downloadFreeBSD-src-b33daefd830ed7a39c89fd5442c381a82796a87f.zip
FreeBSD-src-b33daefd830ed7a39c89fd5442c381a82796a87f.tar.gz
Make certain the the 48bit flag is reset if we dont translate LBA.
-rw-r--r--sys/dev/ata/ata-all.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/ata/ata-all.c b/sys/dev/ata/ata-all.c
index 6b70448..1e74e01 100644
--- a/sys/dev/ata/ata-all.c
+++ b/sys/dev/ata/ata-all.c
@@ -705,6 +705,8 @@ ata_modify_if_48bit(struct ata_request *request)
struct ata_device *atadev = device_get_softc(request->dev);
u_int8_t command = request->u.ata.command;
+ atadev->flags &= ~ATA_D_48BIT_ACTIVE;
+
if ((request->u.ata.lba >= ATA_MAX_28BIT_LBA ||
request->u.ata.count > 256) &&
atadev->param.support.command2 & ATA_SUPPORT_ADDRESS48) {
@@ -734,8 +736,6 @@ ata_modify_if_48bit(struct ata_request *request)
}
atadev->flags |= ATA_D_48BIT_ACTIVE;
}
- else
- atadev->flags &= ~ATA_D_48BIT_ACTIVE;
return command;
}
OpenPOWER on IntegriCloud