]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
qla4xxx: Added error logging for firmware abort
authorNilesh Javali <nilesh.javali@qlogic.com>
Wed, 14 Dec 2011 10:47:50 +0000 (16:17 +0530)
committerGuru Anbalagane <guru.anbalagane@oracle.com>
Thu, 12 Jan 2012 22:35:21 +0000 (14:35 -0800)
JIRA Key: IUEKR2ISCSI-15

Signed-off-by: Nilesh Javali <nilesh.javali@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: Tej Parkash <tej.parkash@qlogic.com>
drivers/scsi/qla4xxx/ql4_def.h
drivers/scsi/qla4xxx/ql4_os.c

index 6057bad7c76a516602f7a8eeffe1b66e7e7520f4..b7ec7a6ae5ddccd73a71e1a91613c17a844582b5 100644 (file)
 #define QL4_SESS_RECOVERY_TMO          120     /* iSCSI session */
                                                /* recovery timeout */
 
+#define MSB(x) ((uint8_t)((uint16_t)(x) >> 8))
+#define LSW(x) ((uint16_t)(x))
 #define LSDW(x) ((u32)((u64)(x)))
 #define MSDW(x) ((u32)((((u64)(x)) >> 16) >> 16))
 
index 0e7940384862ef2935e4343ebfe989e292fdf306..312efbfb3bc35b42464fb6670942931c82c308a4 100644 (file)
@@ -2111,6 +2111,13 @@ void qla4_8xxx_watchdog(struct scsi_qla_host *ha)
                                halt_status = qla4_8xxx_rd_32(ha,
                                                QLA82XX_PEG_HALT_STATUS1);
 
+                               if (LSW(MSB(halt_status)) == 0x67)
+                                       ql4_printk(KERN_ERR, ha, "%s:"
+                                                  " Firmware aborted with"
+                                                  " error code 0x00006700."
+                                                  " Device is being reset\n",
+                                                  __func__);
+
                                /* Since we cannot change dev_state in interrupt
                                 * context, set appropriate DPC flag then wakeup
                                 * DPC */