diff options
author | wenxiong@linux.vnet.ibm.com <wenxiong@linux.vnet.ibm.com> | 2013-06-04 19:57:35 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-06-26 20:59:05 -0400 |
commit | ed7bd6612e67103f5ee4d8cfffe80cea6df096b9 (patch) | |
tree | 96311cc37f7f0cd41483b49712981e1d1f542bb7 /drivers/scsi/ipr.c | |
parent | 66c28f97120e8a621afd5aa7a31c4b85c547d33d (diff) |
[SCSI] ipr: IOA Status Code(IOASC) update
Signed-off-by: Wen Xiong <wenxiong@linux.vnet.ibm.com>
Acked-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/ipr.c')
-rw-r--r-- | drivers/scsi/ipr.c | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index 0d431769f663..6601e03520cc 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c | |||
@@ -281,12 +281,22 @@ struct ipr_error_table_t ipr_error_table[] = { | |||
281 | "FFF6: Failure prediction threshold exceeded"}, | 281 | "FFF6: Failure prediction threshold exceeded"}, |
282 | {0x015D9200, 0, IPR_DEFAULT_LOG_LEVEL, | 282 | {0x015D9200, 0, IPR_DEFAULT_LOG_LEVEL, |
283 | "8009: Impending cache battery pack failure"}, | 283 | "8009: Impending cache battery pack failure"}, |
284 | {0x02040100, 0, 0, | ||
285 | "Logical Unit in process of becoming ready"}, | ||
286 | {0x02040200, 0, 0, | ||
287 | "Initializing command required"}, | ||
284 | {0x02040400, 0, 0, | 288 | {0x02040400, 0, 0, |
285 | "34FF: Disk device format in progress"}, | 289 | "34FF: Disk device format in progress"}, |
290 | {0x02040C00, 0, 0, | ||
291 | "Logical unit not accessible, target port in unavailable state"}, | ||
286 | {0x02048000, 0, IPR_DEFAULT_LOG_LEVEL, | 292 | {0x02048000, 0, IPR_DEFAULT_LOG_LEVEL, |
287 | "9070: IOA requested reset"}, | 293 | "9070: IOA requested reset"}, |
288 | {0x023F0000, 0, 0, | 294 | {0x023F0000, 0, 0, |
289 | "Synchronization required"}, | 295 | "Synchronization required"}, |
296 | {0x02408500, 0, 0, | ||
297 | "IOA microcode download required"}, | ||
298 | {0x02408600, 0, 0, | ||
299 | "Device bus connection is prohibited by host"}, | ||
290 | {0x024E0000, 0, 0, | 300 | {0x024E0000, 0, 0, |
291 | "No ready, IOA shutdown"}, | 301 | "No ready, IOA shutdown"}, |
292 | {0x025A0000, 0, 0, | 302 | {0x025A0000, 0, 0, |
@@ -385,6 +395,8 @@ struct ipr_error_table_t ipr_error_table[] = { | |||
385 | "4030: Incorrect multipath connection"}, | 395 | "4030: Incorrect multipath connection"}, |
386 | {0x04679000, 0, IPR_DEFAULT_LOG_LEVEL, | 396 | {0x04679000, 0, IPR_DEFAULT_LOG_LEVEL, |
387 | "4110: Unsupported enclosure function"}, | 397 | "4110: Unsupported enclosure function"}, |
398 | {0x04679800, 0, IPR_DEFAULT_LOG_LEVEL, | ||
399 | "4120: SAS cable VPD cannot be read"}, | ||
388 | {0x046E0000, 0, IPR_DEFAULT_LOG_LEVEL, | 400 | {0x046E0000, 0, IPR_DEFAULT_LOG_LEVEL, |
389 | "FFF4: Command to logical unit failed"}, | 401 | "FFF4: Command to logical unit failed"}, |
390 | {0x05240000, 1, 0, | 402 | {0x05240000, 1, 0, |
@@ -407,10 +419,18 @@ struct ipr_error_table_t ipr_error_table[] = { | |||
407 | "Illegal request, command sequence error"}, | 419 | "Illegal request, command sequence error"}, |
408 | {0x052C8000, 1, 0, | 420 | {0x052C8000, 1, 0, |
409 | "Illegal request, dual adapter support not enabled"}, | 421 | "Illegal request, dual adapter support not enabled"}, |
422 | {0x052C8100, 1, 0, | ||
423 | "Illegal request, another cable connector was physically disabled"}, | ||
424 | {0x054E8000, 1, 0, | ||
425 | "Illegal request, inconsistent group id/group count"}, | ||
410 | {0x06040500, 0, IPR_DEFAULT_LOG_LEVEL, | 426 | {0x06040500, 0, IPR_DEFAULT_LOG_LEVEL, |
411 | "9031: Array protection temporarily suspended, protection resuming"}, | 427 | "9031: Array protection temporarily suspended, protection resuming"}, |
412 | {0x06040600, 0, IPR_DEFAULT_LOG_LEVEL, | 428 | {0x06040600, 0, IPR_DEFAULT_LOG_LEVEL, |
413 | "9040: Array protection temporarily suspended, protection resuming"}, | 429 | "9040: Array protection temporarily suspended, protection resuming"}, |
430 | {0x060B0100, 0, IPR_DEFAULT_LOG_LEVEL, | ||
431 | "4080: IOA exceeded maximum operating temperature"}, | ||
432 | {0x060B8000, 0, IPR_DEFAULT_LOG_LEVEL, | ||
433 | "4085: Service required"}, | ||
414 | {0x06288000, 0, IPR_DEFAULT_LOG_LEVEL, | 434 | {0x06288000, 0, IPR_DEFAULT_LOG_LEVEL, |
415 | "3140: Device bus not ready to ready transition"}, | 435 | "3140: Device bus not ready to ready transition"}, |
416 | {0x06290000, 0, IPR_DEFAULT_LOG_LEVEL, | 436 | {0x06290000, 0, IPR_DEFAULT_LOG_LEVEL, |
@@ -423,6 +443,8 @@ struct ipr_error_table_t ipr_error_table[] = { | |||
423 | "FFFB: SCSI bus was reset by another initiator"}, | 443 | "FFFB: SCSI bus was reset by another initiator"}, |
424 | {0x063F0300, 0, IPR_DEFAULT_LOG_LEVEL, | 444 | {0x063F0300, 0, IPR_DEFAULT_LOG_LEVEL, |
425 | "3029: A device replacement has occurred"}, | 445 | "3029: A device replacement has occurred"}, |
446 | {0x063F8300, 0, IPR_DEFAULT_LOG_LEVEL, | ||
447 | "4102: Device bus fabric performance degradation"}, | ||
426 | {0x064C8000, 0, IPR_DEFAULT_LOG_LEVEL, | 448 | {0x064C8000, 0, IPR_DEFAULT_LOG_LEVEL, |
427 | "9051: IOA cache data exists for a missing or failed device"}, | 449 | "9051: IOA cache data exists for a missing or failed device"}, |
428 | {0x064C8100, 0, IPR_DEFAULT_LOG_LEVEL, | 450 | {0x064C8100, 0, IPR_DEFAULT_LOG_LEVEL, |
@@ -445,6 +467,14 @@ struct ipr_error_table_t ipr_error_table[] = { | |||
445 | "9076: Configuration error, missing remote IOA"}, | 467 | "9076: Configuration error, missing remote IOA"}, |
446 | {0x06679100, 0, IPR_DEFAULT_LOG_LEVEL, | 468 | {0x06679100, 0, IPR_DEFAULT_LOG_LEVEL, |
447 | "4050: Enclosure does not support a required multipath function"}, | 469 | "4050: Enclosure does not support a required multipath function"}, |
470 | {0x06679800, 0, IPR_DEFAULT_LOG_LEVEL, | ||
471 | "4121: Configuration error, required cable is missing"}, | ||
472 | {0x06679900, 0, IPR_DEFAULT_LOG_LEVEL, | ||
473 | "4122: Cable is not plugged into the correct location on remote IOA"}, | ||
474 | {0x06679A00, 0, IPR_DEFAULT_LOG_LEVEL, | ||
475 | "4123: Configuration error, invalid cable vital product data"}, | ||
476 | {0x06679B00, 0, IPR_DEFAULT_LOG_LEVEL, | ||
477 | "4124: Configuration error, both cable ends are plugged into the same IOA"}, | ||
448 | {0x06690000, 0, IPR_DEFAULT_LOG_LEVEL, | 478 | {0x06690000, 0, IPR_DEFAULT_LOG_LEVEL, |
449 | "4070: Logically bad block written on device"}, | 479 | "4070: Logically bad block written on device"}, |
450 | {0x06690200, 0, IPR_DEFAULT_LOG_LEVEL, | 480 | {0x06690200, 0, IPR_DEFAULT_LOG_LEVEL, |
@@ -507,10 +537,18 @@ struct ipr_error_table_t ipr_error_table[] = { | |||
507 | "9062: One or more disks are missing from an array"}, | 537 | "9062: One or more disks are missing from an array"}, |
508 | {0x07279900, 0, IPR_DEFAULT_LOG_LEVEL, | 538 | {0x07279900, 0, IPR_DEFAULT_LOG_LEVEL, |
509 | "9063: Maximum number of functional arrays has been exceeded"}, | 539 | "9063: Maximum number of functional arrays has been exceeded"}, |
540 | {0x07279A00, 0, 0, | ||
541 | "Data protect, other volume set problem"}, | ||
510 | {0x0B260000, 0, 0, | 542 | {0x0B260000, 0, 0, |
511 | "Aborted command, invalid descriptor"}, | 543 | "Aborted command, invalid descriptor"}, |
544 | {0x0B3F9000, 0, 0, | ||
545 | "Target operating conditions have changed, dual adapter takeover"}, | ||
546 | {0x0B530200, 0, 0, | ||
547 | "Aborted command, medium removal prevented"}, | ||
512 | {0x0B5A0000, 0, 0, | 548 | {0x0B5A0000, 0, 0, |
513 | "Command terminated by host"} | 549 | "Command terminated by host"}, |
550 | {0x0B5B8000, 0, 0, | ||
551 | "Aborted command, command terminated by host"} | ||
514 | }; | 552 | }; |
515 | 553 | ||
516 | static const struct ipr_ses_table_entry ipr_ses_table[] = { | 554 | static const struct ipr_ses_table_entry ipr_ses_table[] = { |