aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorNilesh Javali <nilesh.javali@qlogic.com>2012-01-11 05:44:17 -0500
committerJames Bottomley <JBottomley@Parallels.com>2012-01-16 03:32:58 -0500
commit527c8b2e962d21baa38a96b22e1bf50a47fdf4fb (patch)
treeae35de8d17c20c32de942f13bffe7569ba355ec9 /drivers/scsi
parente6bd0ebd4a8ba9118e970c0214e912e35895c92b (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')
-rw-r--r--drivers/scsi/qla4xxx/ql4_def.h2
-rw-r--r--drivers/scsi/qla4xxx/ql4_os.c7
2 files changed, 9 insertions, 0 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_def.h b/drivers/scsi/qla4xxx/ql4_def.h
index ec48dc30b9a..bfe68545203 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 e2ef7762dc2..b75590af8ed 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 */