summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorken <ken@FreeBSD.org>2016-05-23 19:52:08 +0000
committerken <ken@FreeBSD.org>2016-05-23 19:52:08 +0000
commit8e70fac078394cfbca0599afd2bd5cda07a8ad51 (patch)
tree3b282bcaf359d566fd42c97b197f189191edc1fe
parentd17b279014bce2157bcbb185df14a1774b259d29 (diff)
downloadFreeBSD-src-8e70fac078394cfbca0599afd2bd5cda07a8ad51.zip
FreeBSD-src-8e70fac078394cfbca0599afd2bd5cda07a8ad51.tar.gz
Fix ada(4) trim support quirk setting.
I broke broke the quirk in the ada(4) driver disabling NCQ trim support in revision 300207. The support flags were set before the quirks were loaded. sys/cam/ata/ata_da.c: Call adasetflags() after loading quirks, so that we'll set the flags accurately. Sponsored by: Spectra Logic
-rw-r--r--sys/cam/ata/ata_da.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c
index 8a6e241..ceb8be4 100644
--- a/sys/cam/ata/ata_da.c
+++ b/sys/cam/ata/ata_da.c
@@ -1639,11 +1639,6 @@ adaregister(struct cam_periph *periph, void *arg)
return(CAM_REQ_CMP_ERR);
}
- /*
- * Set support flags based on the Identify data.
- */
- adasetflags(softc, cgd);
-
periph->softc = softc;
/*
@@ -1683,6 +1678,12 @@ adaregister(struct cam_periph *periph, void *arg)
snprintf(announce_buf, sizeof(announce_buf),
"kern.cam.ada.%d.write_cache", periph->unit_number);
TUNABLE_INT_FETCH(announce_buf, &softc->write_cache);
+
+ /*
+ * Set support flags based on the Identify data and quirks.
+ */
+ adasetflags(softc, cgd);
+
/* Disable queue sorting for non-rotational media by default. */
if (cgd->ident_data.media_rotation_rate == ATA_RATE_NON_ROTATING) {
softc->rotating = 0;
OpenPOWER on IntegriCloud