[SCSI] qla2xxx: Correct bus-reset behaviour with recent ISPs.
The short-circuit to skip the non-applicable 'full-login-lip' process on 81xx ISPs was nested too deeply in the 'bus-reset' routine, as the code in qla2x00_loop_reset() should skip the whole enable_lip_full_login process. The original code could cause device tear-down due to the qla2x00_wait_for_loop_ready() call taking a large amount of time. Signed-off-by: Seokmann Ju <seokmann.ju@qlogic.com> Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
committed by
James Bottomley
parent
45d7c46d54
commit
d53b48d512
@@ -1864,9 +1864,6 @@ qla2x00_full_login_lip(scsi_qla_host_t *vha)
|
|||||||
mbx_cmd_t mc;
|
mbx_cmd_t mc;
|
||||||
mbx_cmd_t *mcp = &mc;
|
mbx_cmd_t *mcp = &mc;
|
||||||
|
|
||||||
if (IS_QLA81XX(vha->hw))
|
|
||||||
return QLA_SUCCESS;
|
|
||||||
|
|
||||||
DEBUG11(printk("qla2x00_full_login_lip(%ld): entered.\n",
|
DEBUG11(printk("qla2x00_full_login_lip(%ld): entered.\n",
|
||||||
vha->host_no));
|
vha->host_no));
|
||||||
|
|
||||||
|
@@ -1037,7 +1037,8 @@ qla2x00_loop_reset(scsi_qla_host_t *vha)
|
|||||||
struct fc_port *fcport;
|
struct fc_port *fcport;
|
||||||
struct qla_hw_data *ha = vha->hw;
|
struct qla_hw_data *ha = vha->hw;
|
||||||
|
|
||||||
if (ha->flags.enable_lip_full_login && !vha->vp_idx) {
|
if (ha->flags.enable_lip_full_login && !vha->vp_idx &&
|
||||||
|
!IS_QLA81XX(ha)) {
|
||||||
ret = qla2x00_full_login_lip(vha);
|
ret = qla2x00_full_login_lip(vha);
|
||||||
if (ret != QLA_SUCCESS) {
|
if (ret != QLA_SUCCESS) {
|
||||||
DEBUG2_3(printk("%s(%ld): failed: "
|
DEBUG2_3(printk("%s(%ld): failed: "
|
||||||
|
Reference in New Issue
Block a user