From bdba5f04afce56c83eae2a5f4fb22e6cd9485f1d Mon Sep 17 00:00:00 2001 From: Mike Christie Date: Sat, 16 Aug 2008 20:05:33 -0500 Subject: [PATCH 17/23] libfc: call exch_done after transmitting confirmation Once we send the confirmation completion, we free the scsi command so there is nothing we can really do for scsi command processing. Also, would we normally get a response for this? What type of command is it? If we do not get a response them we leak the ep because we never call exch_done. This just has us send the confirmation, then call exch_done on the exchange so it gets freed and there are not references to the fsp. Signed-off-by: Mike Christie --- drivers/scsi/libfc/fc_fcp.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/libfc/fc_fcp.c b/drivers/scsi/libfc/fc_fcp.c index 6b38b26..26b0a96 100644 --- a/drivers/scsi/libfc/fc_fcp.c +++ b/drivers/scsi/libfc/fc_fcp.c @@ -843,10 +843,9 @@ static void fc_fcp_complete(struct fc_fcp_pkt *fsp) f_ctl = FC_FC_SEQ_INIT; f_ctl |= FC_FC_LAST_SEQ | FC_FC_END_SEQ; lp->tt.seq_send(lp, csp, conf_frame, f_ctl); - } else - lp->tt.exch_done(csp); - } else - lp->tt.exch_done(sp); + } + } + lp->tt.exch_done(sp); } fc_io_compl(fsp); } -- 1.5.5.1