summaryrefslogtreecommitdiff
path: root/sys/dev/ata
diff options
context:
space:
mode:
authorMatthew Dempsky <matthew@cvs.openbsd.org>2011-06-21 06:03:15 +0000
committerMatthew Dempsky <matthew@cvs.openbsd.org>2011-06-21 06:03:15 +0000
commit8a2fa9cf2e2944b60e27771cfc31623b5453e050 (patch)
tree639f3cef6cb2cb82a60fa4d00506d4a8265ced86 /sys/dev/ata
parent46d062bd7a9e784ab480c6e15a7b919b2c7b4c9e (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.c7
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)