diff options
author | mav <mav@FreeBSD.org> | 2012-06-06 06:52:51 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2012-06-06 06:52:51 +0000 |
commit | ee6412e858b4f4494d4ed0593871b67016382659 (patch) | |
tree | 4a291a92409c3b2f5d1945f6fcc0dde4efa2df88 /sys/dev/ahci | |
parent | 691dfc2d38f86af8b930db40efa6e0ec1a6e455d (diff) | |
download | FreeBSD-src-ee6412e858b4f4494d4ed0593871b67016382659.zip FreeBSD-src-ee6412e858b4f4494d4ed0593871b67016382659.tar.gz |
ATA/SATA controllers have no idea about protocol of the connected device
until transport will do some probe actions (at least soft reset).
Make ATA/SATA SIMs to not report bogus and confusing PROTO_ATA protocol.
Make ATA/SATA transport to fill that gap by reporting protocol to SIM with
XPT_SET_TRAN_SETTINGS and patching XPT_GET_TRAN_SETTINGS results if needed.
Diffstat (limited to 'sys/dev/ahci')
-rw-r--r-- | sys/dev/ahci/ahci.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/ahci/ahci.c b/sys/dev/ahci/ahci.c index 3b26da3..ccdba31 100644 --- a/sys/dev/ahci/ahci.c +++ b/sys/dev/ahci/ahci.c @@ -2881,7 +2881,7 @@ ahciaction(struct cam_sim *sim, union ccb *ccb) d = &ch->curr[ccb->ccb_h.target_id]; else d = &ch->user[ccb->ccb_h.target_id]; - cts->protocol = PROTO_ATA; + cts->protocol = PROTO_UNSPECIFIED; cts->protocol_version = PROTO_VERSION_UNSPECIFIED; cts->transport = XPORT_SATA; cts->transport_version = XPORT_VERSION_UNSPECIFIED; @@ -2967,7 +2967,7 @@ ahciaction(struct cam_sim *sim, union ccb *ccb) cpi->unit_number = cam_sim_unit(sim); cpi->transport = XPORT_SATA; cpi->transport_version = XPORT_VERSION_UNSPECIFIED; - cpi->protocol = PROTO_ATA; + cpi->protocol = PROTO_UNSPECIFIED; cpi->protocol_version = PROTO_VERSION_UNSPECIFIED; cpi->maxio = MAXPHYS; /* ATI SB600 can't handle 256 sectors with FPDMA (NCQ). */ |