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 <[email protected]>
---
 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 4f6a78a..6c4f2a6 100644
--- a/drivers/scsi/libfc/fc_rport.c
+++ b/drivers/scsi/libfc/fc_rport.c
@@ -718,12 +718,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);


_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel

Reply via email to