diff options
author | Matthew Dempsky <matthew@cvs.openbsd.org> | 2011-06-21 06:03:15 +0000 |
---|---|---|
committer | Matthew Dempsky <matthew@cvs.openbsd.org> | 2011-06-21 06:03:15 +0000 |
commit | 8a2fa9cf2e2944b60e27771cfc31623b5453e050 (patch) | |
tree | 639f3cef6cb2cb82a60fa4d00506d4a8265ced86 /sys/dev/ata | |
parent | 46d062bd7a9e784ab480c6e15a7b919b2c7b4c9e (diff) |
Laurence Tratt reported that his "Intel 6 Series AHCI" ahci(4) no
longer detects his OCZ Vertex 3 after atascsi.c r1.104. For some
reason, the first IDENTIFY command issued silently fails without any
notification. In lieu of a better fix, workaround this for now by
allowing IDENTIFY to be reissued a second time for non-PMP disks.
Discussed with jmatthew@ and dlg@; ok dlg@
Diffstat (limited to 'sys/dev/ata')
-rw-r--r-- | sys/dev/ata/atascsi.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/dev/ata/atascsi.c b/sys/dev/ata/atascsi.c index 88e5d87644c..ab5e494b08d 100644 --- a/sys/dev/ata/atascsi.c +++ b/sys/dev/ata/atascsi.c @@ -1,4 +1,4 @@ -/* $OpenBSD: atascsi.c,v 1.106 2011/06/02 00:07:30 matthew Exp $ */ +/* $OpenBSD: atascsi.c,v 1.107 2011/06/21 06:03:14 matthew Exp $ */ /* * Copyright (c) 2007 David Gwynne <dlg@openbsd.org> @@ -339,12 +339,11 @@ atascsi_probe(struct scsi_link *link) identify = dma_alloc(sizeof(*identify), PR_WAITOK | PR_ZERO); - int count = (link->lun > 0) ? 6 : 1; + int count = (link->lun > 0) ? 6 : 2; while (count--) { rv = atascsi_port_identify(ap, identify); if (rv == 0) { - bcopy(identify, &ap->ap_identify, - sizeof(ap->ap_identify)); + ap->ap_identify = *identify; break; } if (count > 0) |