On 02/20/2017 01:38 PM, Nicholas A. Bellinger wrote: > However, looking at transport_generic_free_cmd() in the context of > ib_srpt and ib_isert, I don't see how this scenario can ever happen in > as-is in upstream code. > > Namely, all of the transport_generic_free_cmd() callers in ib_srpt and > ib_isert pass wait_for_tasks = false. And the only time > transport_generic_free_cmd() will block is when wait_for_tasks = true, > or when wait_for_tasks = true && abort = true. > > So as-is in upstream, how can transport_generic_free_cmd() ever block > when wait_for_tasks = false..? I will check the other patches in this series for changes that trigger a call to wait_for_completion() if wait_for_tasks == false. Bart.