diff options
author | Saurav Kashyap <saurav.kashyap@qlogic.com> | 2012-04-25 14:26:16 (GMT) |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-05-10 07:18:04 (GMT) |
commit | aaf4d3e2c647b5d1b24082b766c173e6c7edf79b (patch) | |
tree | 6510b8ae7841ec9544780ab8877a8ca711cca9fb | |
parent | 4aee57667e9b237d0bd0c5a167c8b6103a27756a (diff) | |
download | linux-fsl-qoriq-aaf4d3e2c647b5d1b24082b766c173e6c7edf79b.tar.xz |
[SCSI] qla2xxx: Properly check for current state after the fabric-login request.
[jejb: checkpatch fixes]
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index a2f9992..7db8033 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -3577,9 +3577,25 @@ void qla2x00_relogin(struct scsi_qla_host *vha) continue; /* Attempt a retry. */ status = 1; - } else + } else { status = qla2x00_fabric_login(vha, fcport, &next_loopid); + if (status == QLA_SUCCESS) { + int status2; + uint8_t opts; + + opts = 0; + if (fcport->flags & + FCF_FCP2_DEVICE) + opts |= BIT_1; + status2 = + qla2x00_get_port_database( + vha, fcport, + opts); + if (status2 != QLA_SUCCESS) + status = 1; + } + } } else status = qla2x00_local_device_login(vha, fcport); |