mirror of
https://github.com/SCST-project/scst.git
synced 2026-07-24 00:52:46 +00:00
- With thread=1, the kernel thread was stopped before all I/O was stopped. This could result in IB completions for responses sent to the initiator not being processed, scst_tgt_cmd_done() not being called for certain SCST commands and hence this race could cause "rmmod ib_srpt" to hang. - ib_unregister_event_handler() was called after cancel_work_sync(). This could cause srpt_event_handler() to queue new work, work that could be executed after the data it operates on had been deallocated. Change: simplified module unloading by calling ib_destroy_cm_id(sdev->cm_id) before calling scst_unregister(). This made the variable "cleaning_up" superfluous. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1441 d57e44dd-8a1f-0410-8b47-8ef2f437770f