diff options
author | Giridhar Malavali <giridhar.malavali@qlogic.com> | 2010-05-04 18:01:33 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-05-16 18:22:09 -0400 |
commit | f4c496c1fbaa59dbb3820c18453df661079b1d4a (patch) | |
tree | 53e105605dc72674c7f7261130c2b36877f260f0 /drivers/scsi | |
parent | 86fbee86e94c7e80c9bb01db0cf68b7977462109 (diff) |
[SCSI] qla2xxx: Optionally disable target reset.
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_gbl.h | 1 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h index 3e946da74b96..8217c3bcbc2e 100644 --- a/drivers/scsi/qla2xxx/qla_gbl.h +++ b/drivers/scsi/qla2xxx/qla_gbl.h | |||
@@ -96,6 +96,7 @@ extern int ql2xdontresethba; | |||
96 | extern int ql2xasynctmfenable; | 96 | extern int ql2xasynctmfenable; |
97 | extern int ql2xenabledif; | 97 | extern int ql2xenabledif; |
98 | extern int ql2xenablehba_err_chk; | 98 | extern int ql2xenablehba_err_chk; |
99 | extern int ql2xtargetreset; | ||
99 | 100 | ||
100 | extern int qla2x00_loop_reset(scsi_qla_host_t *); | 101 | extern int qla2x00_loop_reset(scsi_qla_host_t *); |
101 | extern void qla2x00_abort_all_cmds(scsi_qla_host_t *, int); | 102 | extern void qla2x00_abort_all_cmds(scsi_qla_host_t *, int); |
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 0de92d376677..be1a8fcbb1fb 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -154,6 +154,12 @@ MODULE_PARM_DESC(ql2xdontresethba, | |||
154 | " 0 (Default) -- Reset on failure.\n" | 154 | " 0 (Default) -- Reset on failure.\n" |
155 | " 1 -- Do not reset on failure.\n"); | 155 | " 1 -- Do not reset on failure.\n"); |
156 | 156 | ||
157 | int ql2xtargetreset = 1; | ||
158 | module_param(ql2xtargetreset, int, S_IRUGO|S_IRUSR); | ||
159 | MODULE_PARM_DESC(ql2xtargetreset, | ||
160 | "Enable target reset." | ||
161 | "Default is 1 - use hw defaults."); | ||
162 | |||
157 | 163 | ||
158 | int ql2xasynctmfenable; | 164 | int ql2xasynctmfenable; |
159 | module_param(ql2xasynctmfenable, int, S_IRUGO|S_IRUSR); | 165 | module_param(ql2xasynctmfenable, int, S_IRUGO|S_IRUSR); |
@@ -1193,7 +1199,7 @@ qla2x00_loop_reset(scsi_qla_host_t *vha) | |||
1193 | struct fc_port *fcport; | 1199 | struct fc_port *fcport; |
1194 | struct qla_hw_data *ha = vha->hw; | 1200 | struct qla_hw_data *ha = vha->hw; |
1195 | 1201 | ||
1196 | if (ha->flags.enable_target_reset) { | 1202 | if (ql2xtargetreset == 1 && ha->flags.enable_target_reset) { |
1197 | list_for_each_entry(fcport, &vha->vp_fcports, list) { | 1203 | list_for_each_entry(fcport, &vha->vp_fcports, list) { |
1198 | if (fcport->port_type != FCT_TARGET) | 1204 | if (fcport->port_type != FCT_TARGET) |
1199 | continue; | 1205 | continue; |