From e1290dc5dd126942bf3cc6feab7db9b96fa823df Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sat, 13 Apr 2019 22:44:39 +0000 Subject: [PATCH] qla2x00t-32gbit, target: Avoid that sqa_qla2xxx_free_session() hangs Call scst_unregister_session() after having set the completion pointer instead of before. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8183 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c b/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c index 6e3408572..0f6798194 100644 --- a/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c +++ b/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c @@ -862,11 +862,11 @@ static void sqa_qla2xxx_free_session(struct fc_port *fcport) wwn_to_str(fcport->port_name)); } - scst_unregister_session(scst_sess, 1, sqa_free_session_done); - { DECLARE_COMPLETION_ONSTACK(c); + fcport->unreg_done = &c; + scst_unregister_session(scst_sess, 1, sqa_free_session_done); wait_for_completion(&c); }