[SCSI] qla2xxx: Extend the 'fw_dump' SYSFS node the ability to initiate a firmware...
authorAndrew Vasquez <andrew.vasquez@qlogic.com>
Tue, 13 May 2008 05:21:13 +0000 (22:21 -0700)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Thu, 15 May 2008 15:39:29 +0000 (16:39 +0100)
The user-initiated dump can be a useful tool in triaging complex
ISP and FC issues.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/qla2xxx/qla_attr.c
drivers/scsi/qla2xxx/qla_gbl.h
drivers/scsi/qla2xxx/qla_mbx.c

index 48318d0f088fb619c7a0c567693fbf0367c26638..8dd88fc1244a60e688ed9e18a217707ee3976905 100644 (file)
@@ -70,6 +70,9 @@ qla2x00_sysfs_write_fw_dump(struct kobject *kobj,
        case 2:
                qla2x00_alloc_fw_dump(ha);
                break;
+       case 3:
+               qla2x00_system_error(ha);
+               break;
        }
        return (count);
 }
index f8827068d30fb006165b2daccfd86f7d69d2f134..9b4bebee6879fe6f19bcaad2f3433338659b40b2 100644 (file)
@@ -227,6 +227,9 @@ extern int qla24xx_abort_command(scsi_qla_host_t *, srb_t *);
 extern int qla24xx_abort_target(struct fc_port *, unsigned int);
 extern int qla24xx_lun_reset(struct fc_port *, unsigned int);
 
+extern int
+qla2x00_system_error(scsi_qla_host_t *);
+
 extern int
 qla2x00_set_serdes_params(scsi_qla_host_t *, uint16_t, uint16_t, uint16_t);
 
index bf3a6f0b8ba2fbb405449dc868a80796ded7ad76..250d2f604397b02aca0840e5a8b4100f2378cb63 100644 (file)
@@ -2303,8 +2303,6 @@ qla24xx_lun_reset(struct fc_port *fcport, unsigned int l)
        return __qla24xx_issue_tmf("Lun", TCF_LUN_RESET, fcport, l);
 }
 
-#if 0
-
 int
 qla2x00_system_error(scsi_qla_host_t *ha)
 {
@@ -2312,7 +2310,7 @@ qla2x00_system_error(scsi_qla_host_t *ha)
        mbx_cmd_t mc;
        mbx_cmd_t *mcp = &mc;
 
-       if (!IS_FWI2_CAPABLE(ha))
+       if (!IS_QLA23XX(ha) && !IS_FWI2_CAPABLE(ha))
                return QLA_FUNCTION_FAILED;
 
        DEBUG11(printk("%s(%ld): entered.\n", __func__, ha->host_no));
@@ -2334,8 +2332,6 @@ qla2x00_system_error(scsi_qla_host_t *ha)
        return rval;
 }
 
-#endif  /*  0  */
-
 /**
  * qla2x00_set_serdes_params() -
  * @ha: HA context