diff options
author | Alexander Motin <mav@FreeBSD.org> | 2011-04-13 16:20:54 +0000 |
---|---|---|
committer | Alexander Motin <mav@FreeBSD.org> | 2011-04-13 16:20:54 +0000 |
commit | 8d169381e427bddf2b46c862fb721fa76ffac8f3 (patch) | |
tree | 50152a120489fd01d6729de29dac3161f46fd826 /sys/dev/siis | |
parent | 235ab70e0a6c67b0529450bfd7717cd99bcf09eb (diff) | |
download | src-8d169381e427bddf2b46c862fb721fa76ffac8f3.tar.gz src-8d169381e427bddf2b46c862fb721fa76ffac8f3.zip |
Notes
Diffstat (limited to 'sys/dev/siis')
-rw-r--r-- | sys/dev/siis/siis.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/siis/siis.c b/sys/dev/siis/siis.c index 03c6127054d2..b974cf2eae2e 100644 --- a/sys/dev/siis/siis.c +++ b/sys/dev/siis/siis.c @@ -474,6 +474,7 @@ siis_ch_attach(device_t dev) ch->curr[i] = ch->user[i]; if (ch->pm_level) ch->user[i].caps = CTS_SATA_CAPS_H_PMREQ; + ch->user[i].caps |= CTS_SATA_CAPS_H_AN; } mtx_init(&ch->mtx, "SIIS channel lock", NULL, MTX_DEF); rid = ch->unit; @@ -1869,6 +1870,7 @@ siisaction(struct cam_sim *sim, union ccb *ccb) cts->xport_specific.sata.caps = d->caps & CTS_SATA_CAPS_D; if (ch->pm_level) cts->xport_specific.sata.caps |= CTS_SATA_CAPS_H_PMREQ; + cts->xport_specific.sata.caps |= CTS_SATA_CAPS_H_AN; cts->xport_specific.sata.caps &= ch->user[ccb->ccb_h.target_id].caps; cts->xport_specific.sata.valid |= CTS_SATA_VALID_CAPS; @@ -1876,6 +1878,9 @@ siisaction(struct cam_sim *sim, union ccb *ccb) cts->xport_specific.sata.revision = d->revision; cts->xport_specific.sata.valid |= CTS_SATA_VALID_REVISION; cts->xport_specific.sata.caps = d->caps; + if (cts->type == CTS_TYPE_CURRENT_SETTINGS && + (ch->quirks & SIIS_Q_SNTF) == 0) + cts->xport_specific.sata.caps &= ~CTS_SATA_CAPS_H_AN; cts->xport_specific.sata.valid |= CTS_SATA_VALID_CAPS; } cts->xport_specific.sata.mode = d->mode; |