> > On 9/30/2011 5:05 PM, Yi Zou wrote: > > With cmmit "7a2b73 [SCSI] libfc: fix fc_eh_host_reset", the exch lock > is already > > held when fc_exch_abort_locked(), but fc_seq_send() that is called > along the > > path is gonna grab the same exch lock again, causing dead-lock. Drop > the exch > > lock before fc_seq_send() in fc_exch_abort_locked() should fix it. > > > > [ Bhanu, I think the fix is good and I did some create/destroy w/ io > tests, and > > seems to be fine. Can you take a look to see if I have missed anything > here. I > > will get more extensive testing later. > > > > thanks - yi ] > > Yi, thanks for fixing this. The fix looks good to me, and it should > avoid the deadlock. Since the ex_lock is only protecting esb_stat, it is > okay to release it and re-acquire it after fc_seq_send, although I think > it may be a bit overkill to hold this lock across fc_frame_alloc. > > I'll test it too. > > Thanks, > Bhanu Yeah, you are right, I missed that, I should have unlock moved it out of the frame alloc. I'll send a v2.
yi > > > > > <-- snip --> > > _______________________________________________ devel mailing list [email protected] https://lists.open-fcoe.org/mailman/listinfo/devel
