diff options
author | brking@us.ibm.com <brking@us.ibm.com> | 2005-11-01 18:01:47 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2005-11-06 14:05:27 -0500 |
commit | b0df54bb4c9df6c1b1633a9f990b718059cda394 (patch) | |
tree | 9aea5bce33708f67428bccb84df41db6cd517d2d /drivers/scsi/ipr.h | |
parent | f37eb54b48159f7384ad0e7e70e0f67d1317aac7 (diff) |
[SCSI] ipr: handle new adapter errors
Add support for handling some new errors that may be returned
by ipr adapters.
Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/ipr.h')
-rw-r--r-- | drivers/scsi/ipr.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h index 414aa07e20f9..57d55b284caf 100644 --- a/drivers/scsi/ipr.h +++ b/drivers/scsi/ipr.h | |||
@@ -81,6 +81,8 @@ | |||
81 | #define IPR_IOASC_IOASC_MASK 0xFFFFFF00 | 81 | #define IPR_IOASC_IOASC_MASK 0xFFFFFF00 |
82 | #define IPR_IOASC_SCSI_STATUS_MASK 0x000000FF | 82 | #define IPR_IOASC_SCSI_STATUS_MASK 0x000000FF |
83 | #define IPR_IOASC_IR_RESOURCE_HANDLE 0x05250000 | 83 | #define IPR_IOASC_IR_RESOURCE_HANDLE 0x05250000 |
84 | #define IPR_IOASC_IR_NO_CMDS_TO_2ND_IOA 0x05258100 | ||
85 | #define IPR_IOASA_IR_DUAL_IOA_DISABLED 0x052C8000 | ||
84 | #define IPR_IOASC_BUS_WAS_RESET 0x06290000 | 86 | #define IPR_IOASC_BUS_WAS_RESET 0x06290000 |
85 | #define IPR_IOASC_BUS_WAS_RESET_BY_OTHER 0x06298000 | 87 | #define IPR_IOASC_BUS_WAS_RESET_BY_OTHER 0x06298000 |
86 | #define IPR_IOASC_ABORTED_CMD_TERM_BY_HOST 0x0B5A0000 | 88 | #define IPR_IOASC_ABORTED_CMD_TERM_BY_HOST 0x0B5A0000 |
@@ -593,6 +595,12 @@ struct ipr_hostrcb_type_04_error { | |||
593 | u8 protection_level[8]; | 595 | u8 protection_level[8]; |
594 | }__attribute__((packed, aligned (4))); | 596 | }__attribute__((packed, aligned (4))); |
595 | 597 | ||
598 | struct ipr_hostrcb_type_07_error { | ||
599 | u8 failure_reason[64]; | ||
600 | struct ipr_vpd vpd; | ||
601 | u32 data[222]; | ||
602 | }__attribute__((packed, aligned (4))); | ||
603 | |||
596 | struct ipr_hostrcb_error { | 604 | struct ipr_hostrcb_error { |
597 | __be32 failing_dev_ioasc; | 605 | __be32 failing_dev_ioasc; |
598 | struct ipr_res_addr failing_dev_res_addr; | 606 | struct ipr_res_addr failing_dev_res_addr; |
@@ -604,6 +612,7 @@ struct ipr_hostrcb_error { | |||
604 | struct ipr_hostrcb_type_02_error type_02_error; | 612 | struct ipr_hostrcb_type_02_error type_02_error; |
605 | struct ipr_hostrcb_type_03_error type_03_error; | 613 | struct ipr_hostrcb_type_03_error type_03_error; |
606 | struct ipr_hostrcb_type_04_error type_04_error; | 614 | struct ipr_hostrcb_type_04_error type_04_error; |
615 | struct ipr_hostrcb_type_07_error type_07_error; | ||
607 | } u; | 616 | } u; |
608 | }__attribute__((packed, aligned (4))); | 617 | }__attribute__((packed, aligned (4))); |
609 | 618 | ||
@@ -637,6 +646,7 @@ struct ipr_hcam { | |||
637 | #define IPR_HOST_RCB_OVERLAY_ID_3 0x03 | 646 | #define IPR_HOST_RCB_OVERLAY_ID_3 0x03 |
638 | #define IPR_HOST_RCB_OVERLAY_ID_4 0x04 | 647 | #define IPR_HOST_RCB_OVERLAY_ID_4 0x04 |
639 | #define IPR_HOST_RCB_OVERLAY_ID_6 0x06 | 648 | #define IPR_HOST_RCB_OVERLAY_ID_6 0x06 |
649 | #define IPR_HOST_RCB_OVERLAY_ID_7 0x07 | ||
640 | #define IPR_HOST_RCB_OVERLAY_ID_DEFAULT 0xFF | 650 | #define IPR_HOST_RCB_OVERLAY_ID_DEFAULT 0xFF |
641 | 651 | ||
642 | u8 reserved1[3]; | 652 | u8 reserved1[3]; |