diff options
author | Joe Eykholt <jeykholt@cisco.com> | 2009-08-25 17:03:42 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2009-09-10 13:08:01 -0400 |
commit | 68a1750b46ad5177f7703081b5fe85624f1aa62b (patch) | |
tree | e7e357ecc2cd3a6d50d890fd4750c0746443eb7d /drivers/scsi | |
parent | feab4ae73031699fcf92a88f4b1e4ec1b14157a5 (diff) |
[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.c | 10 |
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, | |||
725 | } | 725 | } |
726 | 726 | ||
727 | op = fc_frame_payload_op(fp); | 727 | op = fc_frame_payload_op(fp); |
728 | if (op == ELS_LS_ACC) { | 728 | if (op != ELS_LS_ACC) |
729 | fc_rport_enter_rtv(rdata); | 729 | FC_RPORT_DBG(rdata, "Bad ELS response op %x for LOGO command\n", |
730 | } else { | 730 | op); |
731 | FC_RPORT_DBG(rdata, "Bad ELS response for LOGO command\n"); | 731 | fc_rport_enter_delete(rdata, RPORT_EV_LOGO); |
732 | fc_rport_enter_delete(rdata, RPORT_EV_LOGO); | ||
733 | } | ||
734 | 732 | ||
735 | out: | 733 | out: |
736 | fc_frame_free(fp); | 734 | fc_frame_free(fp); |