>-----Original Message----- >From: Mike Christie [mailto:[EMAIL PROTECTED] > >Ok so now I am really lost :) See the attached patch. It looks like if >fc_seq_lookup_recip returns FC_RJT_NONE then from the fc_exch_find call >it returns from fc_seq_lookup_recip with a hold on the ep.
Correct, the ep returned from fc_seq_lookup_recip() will have one exch hold and that will be used by upper layer as explained below in detail. >So in >fc_exch_recv_req we need to just release it? The exch hold from fc_seq_lookup_recip() will be released by upper layer response handler by calling fc_exch_done() but since fc_exch_done() will not be calling fc_exch_release(). Therfore I added extra fc_exch_hold() and fc_exch_release() in fc_exch_recv_req() around calling upper layer handler. This later added fc_exch_release() will free the ep memory. Your attached patch has some of the same changes as my sent patch fixed-exch-rel.patch. I'll merge your attached patch changes except fc_exch_release() changes with fixed-exch-rel.patch or will apply after fixed-exch-rel.patch. > _______________________________________________ devel mailing list [email protected] http://www.open-fcoe.org/mailman/listinfo/devel
