aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth D. Merry <ken@FreeBSD.org>2013-08-27 19:47:03 +0000
committerKenneth D. Merry <ken@FreeBSD.org>2013-08-27 19:47:03 +0000
commit73825c17324156e9b11688d4cb01f201efc09ef1 (patch)
treedcb3f8b1162098a9450d48a55cb159252b09c9b6
parent2a3910b93109d29b97a6bcfadcb9adb79f9192af (diff)
downloadsrc-73825c17324156e9b11688d4cb01f201efc09ef1.tar.gz
src-73825c17324156e9b11688d4cb01f201efc09ef1.zip
If a drive returns ASC/ASCQ 0x04,0x11 "Logical unit not ready,
notify (enable spinup) required", instead of doing the normal retries, poll for a change in status. We will poll every half second for a minute for the status to change. Hitachi drives (and likely other SAS drives) return that ASC/ASCQ when they are waiting to spin up. What it means is that they are waiting for the SAS expander to send them the SAS NOTIFY (ENABLE SPINUP) primitive. That primitive is the mechanism expanders/enclosures use to sequence drive spinup to avoid overloading power supplies. Sponsored by: Spectra Logic MFC after: 3 days
Notes
Notes: svn path=/head/; revision=254970
-rw-r--r--sys/cam/scsi/scsi_all.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/cam/scsi/scsi_all.c b/sys/cam/scsi/scsi_all.c
index 324dc9aeeb37..65302664b0ab 100644
--- a/sys/cam/scsi/scsi_all.c
+++ b/sys/cam/scsi/scsi_all.c
@@ -1118,7 +1118,7 @@ static struct asc_table_entry asc_table[] = {
{ SST(0x04, 0x10, SS_RDEF, /* XXX TBD */
"Logical unit not ready, auxiliary memory not accessible") },
/* DT WRO AEB VF */
- { SST(0x04, 0x11, SS_RDEF, /* XXX TBD */
+ { SST(0x04, 0x11, SS_TUR | SSQ_MANY | SSQ_DECREMENT_COUNT | EBUSY,
"Logical unit not ready, notify (enable spinup) required") },
/* M V */
{ SST(0x04, 0x12, SS_RDEF, /* XXX TBD */