Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 441fbd25 authored by Narsimhulu Musini's avatar Narsimhulu Musini Committed by James Bottomley
Browse files

[SCSI] fnic: host reset returns nonzero value(errno) on success



Fixed appropriate error codes that returns negative error number on failure,
and 0 on success. fnic_reset() is used directly by the fc transport callback
issue_fc_host_lip which requires a negative error number on failure.

Signed-off-by: default avatarNarsimhulu Musini <nmusini@cisco.com>
Signed-off-by: default avatarHiral Patel <hiralpat@cisco.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent 522db3c9
Loading
Loading
Loading
Loading
+4 −5
Original line number Original line Diff line number Diff line
@@ -2207,7 +2207,7 @@ int fnic_reset(struct Scsi_Host *shost)
{
{
	struct fc_lport *lp;
	struct fc_lport *lp;
	struct fnic *fnic;
	struct fnic *fnic;
	int ret = SUCCESS;
	int ret = 0;


	lp = shost_priv(shost);
	lp = shost_priv(shost);
	fnic = lport_priv(lp);
	fnic = lport_priv(lp);
@@ -2219,12 +2219,11 @@ int fnic_reset(struct Scsi_Host *shost)
	 * Reset local port, this will clean up libFC exchanges,
	 * Reset local port, this will clean up libFC exchanges,
	 * reset remote port sessions, and if link is up, begin flogi
	 * reset remote port sessions, and if link is up, begin flogi
	 */
	 */
	if (lp->tt.lport_reset(lp))
	ret = lp->tt.lport_reset(lp);
		ret = FAILED;


	FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host,
	FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host,
		      "Returning from fnic reset %s\n",
		      "Returning from fnic reset %s\n",
		      (ret == SUCCESS) ?
		      (ret == 0) ?
		      "SUCCESS" : "FAILED");
		      "SUCCESS" : "FAILED");


	return ret;
	return ret;
@@ -2251,7 +2250,7 @@ int fnic_host_reset(struct scsi_cmnd *sc)
	 * scsi-ml tries to send a TUR to every device if host reset is
	 * scsi-ml tries to send a TUR to every device if host reset is
	 * successful, so before returning to scsi, fabric should be up
	 * successful, so before returning to scsi, fabric should be up
	 */
	 */
	ret = fnic_reset(shost);
	ret = (fnic_reset(shost) == 0) ? SUCCESS : FAILED;
	if (ret == SUCCESS) {
	if (ret == SUCCESS) {
		wait_host_tmo = jiffies + FNIC_HOST_RESET_SETTLE_TIME * HZ;
		wait_host_tmo = jiffies + FNIC_HOST_RESET_SETTLE_TIME * HZ;
		ret = FAILED;
		ret = FAILED;