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); }