[SCSI] qla2xxx: Add the ql2xdontresethba module_param.
authorGiridhar Malavali <giridhar.malavali@qlogic.com>
Wed, 30 Mar 2011 18:46:29 +0000 (11:46 -0700)
committerJames Bottomley <James.Bottomley@suse.de>
Sun, 1 May 2011 15:12:18 +0000 (10:12 -0500)
Also, change the ISP82xx code to only reset if this module_param is set
and reset is intended via the QLA82XX_DEV_NEED_RESET case.

Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Madhuranath Iyengar <Madhu.Iyengar@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/qla2xxx/qla_gbl.h
drivers/scsi/qla2xxx/qla_nx.c
drivers/scsi/qla2xxx/qla_os.c

index cd646ca..fbb4b8f 100644 (file)
@@ -102,6 +102,7 @@ extern int ql2xgffidenable;
 extern int ql2xenabledif;
 extern int ql2xenablehba_err_chk;
 extern int ql2xtargetreset;
+extern int ql2xdontresethba;
 
 extern int qla2x00_loop_reset(scsi_qla_host_t *);
 extern void qla2x00_abort_all_cmds(scsi_qla_host_t *, int);
index 81472e4..a62856e 100644 (file)
@@ -3585,6 +3585,7 @@ qla82xx_device_state_handler(scsi_qla_host_t *vha)
                        qla82xx_idc_lock(ha);
                        break;
                case QLA82XX_DEV_NEED_RESET:
+                   if (!ql2xdontresethba)
                        qla82xx_need_reset_handler(vha);
                        dev_init_timeout = jiffies +
                                (ha->nx_dev_init_timeout * HZ);
index d1b29dc..8791642 100644 (file)
@@ -164,6 +164,14 @@ module_param(ql2xasynctmfenable, int, S_IRUGO);
 MODULE_PARM_DESC(ql2xasynctmfenable,
                "Enables issue of TM IOCBs asynchronously via IOCB mechanism"
                "Default is 0 - Issue TM IOCBs via mailbox mechanism.");
+
+int ql2xdontresethba;
+module_param(ql2xdontresethba, int, S_IRUGO);
+MODULE_PARM_DESC(ql2xdontresethba,
+       "Option to specify reset behaviour\n"
+       " 0 (Default) -- Reset on failure.\n"
+       " 1 -- Do not reset on failure.\n");
+
 /*
  * SCSI host template entry points
  */