[PATCH] fix computation related to FC_EX_CLOSED in FC local port

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In fc_lport_error(), FC_EX_CLOSED could be understood to be no more
rettries, so resetting local port is reasonable and necessary.

When processing response to flogi request, FC_EX_CLOSED should be
treated as other errors, since the state machine of local port could
reach reset.

Signed-off-by: Hillf Danton <dhillf@xxxxxxxxx>
---

--- a/drivers/scsi/libfc/fc_lport.c	2010-11-01 19:54:12.000000000 +0800
+++ b/drivers/scsi/libfc/fc_lport.c	2010-12-16 23:46:06.000000000 +0800
@@ -1013,7 +1013,7 @@ static void fc_lport_error(struct fc_lpo
 		     lport->retry_count);

 	if (PTR_ERR(fp) == -FC_EX_CLOSED)
-		return;
+		goto reset;

 	/*
 	 * Memory allocation failure, or the exchange timed out
@@ -1029,6 +1029,7 @@ static void fc_lport_error(struct fc_lpo

 		schedule_delayed_work(&lport->retry_work, delay);
 	} else
+ reset:
 		fc_lport_enter_reset(lport);
 }

@@ -1428,9 +1429,6 @@ void fc_lport_flogi_resp(struct fc_seq *

 	FC_LPORT_DBG(lport, "Received a FLOGI %s\n", fc_els_resp_type(fp));

-	if (fp == ERR_PTR(-FC_EX_CLOSED))
-		return;
-
 	mutex_lock(&lport->lp_mutex);

 	if (lport->state != LPORT_ST_FLOGI) {
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux