From: Saurav Kashyap Date: Wed, 4 Apr 2012 21:39:54 +0000 (-0700) Subject: qla2xxx: Properly check for current state after the fabric-login request. X-Git-Tag: v2.6.39-400.9.0~464 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=97886258c971b97e7fa2a8f76c1b959ec873142b;p=users%2Fjedix%2Flinux-maple.git qla2xxx: Properly check for current state after the fabric-login request. JIRA Key: V2632FC-185 --- diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 664d927abef6..9c884a7506de 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -3593,9 +3593,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);