> - queue_work(cmd->se_dev->tmr_wq, &cmd->work); > + if (cmd->se_dev) > + queue_work(cmd->se_dev->tmr_wq, &cmd->work); > + else > + schedule_work(&cmd->work); This looks suspicious. se_dev->tmr_wq has the WQ_MEM_RECLAIM flag set, so it always has a rescuer thread available, while the generic system work queue is just a best effort. Additional a unbound wq with max_active of guarantees strict execution ordering. I don't even know if the code relies on this fact, but changing it should require an explanation of why that change is fine. -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html