summary refs log tree commit diff
path: root/drivers/scsi
diff options
context:
space:
mode:
authorJoe Eykholt <jeykholt@cisco.com>2009-08-25 14:03:42 -0700
committerJames Bottomley <James.Bottomley@suse.de>2009-09-10 12:08:01 -0500
commit68a1750b46ad5177f7703081b5fe85624f1aa62b (patch)
treee7e357ecc2cd3a6d50d890fd4750c0746443eb7d /drivers/scsi
parentfeab4ae73031699fcf92a88f4b1e4ec1b14157a5 (diff)
downloadlinux-68a1750b46ad5177f7703081b5fe85624f1aa62b.tar.gz
[SCSI] libfc: LOGO response code had extraeous enter_rtv
fc_rport_logo_resp() had a call to fc_rport_enter_rtv() if the
LOGO was accepted.  This must've been a copy/paste mistake, but
it didn't matter since we don't stay in the LOGO state long enough
to hit this code.

Change fc_rport_logo_resp() to just enter the delete state
no matter what.

Signed-off-by: Joe Eykholt <jeykholt@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/libfc/fc_rport.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/scsi/libfc/fc_rport.c b/drivers/scsi/libfc/fc_rport.c
index dc97c603744f..b5bc8724e1a0 100644
--- a/drivers/scsi/libfc/fc_rport.c
+++ b/drivers/scsi/libfc/fc_rport.c
@@ -725,12 +725,10 @@ static void fc_rport_logo_resp(struct fc_seq *sp, struct fc_frame *fp,
 	}
 
 	op = fc_frame_payload_op(fp);
-	if (op == ELS_LS_ACC) {
-		fc_rport_enter_rtv(rdata);
-	} else {
-		FC_RPORT_DBG(rdata, "Bad ELS response for LOGO command\n");
-		fc_rport_enter_delete(rdata, RPORT_EV_LOGO);
-	}
+	if (op != ELS_LS_ACC)
+		FC_RPORT_DBG(rdata, "Bad ELS response op %x for LOGO command\n",
+			     op);
+	fc_rport_enter_delete(rdata, RPORT_EV_LOGO);
 
 out:
 	fc_frame_free(fp);