[Open-FCoE] [PATCH] libfc: Remove unnecessary fc_exch_hold() call

Robert Love robert.w.love at intel.com
Tue Sep 16 00:39:03 UTC 2008


There was a rogue fc_exch_hold() being called for incoming
requests. This causes extra reference to an exch caused a

slab error in kmem_cache_destroy(): cache `libfc_em': Can't free all objects

error when attempting to rmmod libfc.ko since all objects weren't free.

Signed-off-by: Robert Love <robert.w.love at intel.com>
---

 drivers/scsi/libfc/fc_exch.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/scsi/libfc/fc_exch.c b/drivers/scsi/libfc/fc_exch.c
index 90c5fcf..6b5a35b 100644
--- a/drivers/scsi/libfc/fc_exch.c
+++ b/drivers/scsi/libfc/fc_exch.c
@@ -744,7 +744,6 @@ fc_seq_lookup_recip(struct fc_exch_mgr *mp, struct fc_frame *fp)
 				reject = FC_RJT_EXCH_EST;	/* XXX */
 				goto out;
 			}
-			fc_exch_hold(ep);	/* Additional hold for caller */
 			xid = ep->xid;	/* get our XID */
 		} else if (!ep) {
 			atomic_inc(&mp->stats.xid_not_found);




More information about the devel mailing list