diff options
author | Nilesh Javali <nilesh.javali@qlogic.com> | 2012-01-11 05:44:17 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-01-16 03:32:58 -0500 |
commit | 527c8b2e962d21baa38a96b22e1bf50a47fdf4fb (patch) | |
tree | ae35de8d17c20c32de942f13bffe7569ba355ec9 /drivers/scsi/qla4xxx | |
parent | e6bd0ebd4a8ba9118e970c0214e912e35895c92b (diff) |
[SCSI] qla4xxx: Added error logging for firmware abort
Added debug print with error code in case of firmware error.
Signed-off-by: Nilesh Javali <nilesh.javali@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/qla4xxx')
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_def.h | 2 | ||||
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_os.c | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_def.h b/drivers/scsi/qla4xxx/ql4_def.h index ec48dc30b9a2..bfe68545203f 100644 --- a/drivers/scsi/qla4xxx/ql4_def.h +++ b/drivers/scsi/qla4xxx/ql4_def.h | |||
@@ -150,6 +150,8 @@ | |||
150 | #define QL4_SESS_RECOVERY_TMO 120 /* iSCSI session */ | 150 | #define QL4_SESS_RECOVERY_TMO 120 /* iSCSI session */ |
151 | /* recovery timeout */ | 151 | /* recovery timeout */ |
152 | 152 | ||
153 | #define MSB(x) ((uint8_t)((uint16_t)(x) >> 8)) | ||
154 | #define LSW(x) ((uint16_t)(x)) | ||
153 | #define LSDW(x) ((u32)((u64)(x))) | 155 | #define LSDW(x) ((u32)((u64)(x))) |
154 | #define MSDW(x) ((u32)((((u64)(x)) >> 16) >> 16)) | 156 | #define MSDW(x) ((u32)((((u64)(x)) >> 16) >> 16)) |
155 | 157 | ||
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c index e2ef7762dc24..b75590af8ed3 100644 --- a/drivers/scsi/qla4xxx/ql4_os.c +++ b/drivers/scsi/qla4xxx/ql4_os.c | |||
@@ -2112,6 +2112,13 @@ void qla4_8xxx_watchdog(struct scsi_qla_host *ha) | |||
2112 | halt_status = qla4_8xxx_rd_32(ha, | 2112 | halt_status = qla4_8xxx_rd_32(ha, |
2113 | QLA82XX_PEG_HALT_STATUS1); | 2113 | QLA82XX_PEG_HALT_STATUS1); |
2114 | 2114 | ||
2115 | if (LSW(MSB(halt_status)) == 0x67) | ||
2116 | ql4_printk(KERN_ERR, ha, "%s:" | ||
2117 | " Firmware aborted with" | ||
2118 | " error code 0x00006700." | ||
2119 | " Device is being reset\n", | ||
2120 | __func__); | ||
2121 | |||
2115 | /* Since we cannot change dev_state in interrupt | 2122 | /* Since we cannot change dev_state in interrupt |
2116 | * context, set appropriate DPC flag then wakeup | 2123 | * context, set appropriate DPC flag then wakeup |
2117 | * DPC */ | 2124 | * DPC */ |