Il 23/05/2014 08:09, Hannes Reinecke ha scritto:

And when freeing a command we absolutely need to make sure that
the workqueue is empty.
So calling cancel_delayed_work() was the obvious thing to do.

You would need cancel_delayed_work_sync, but if it really happened that the work item is running, it would cause a double free.

I'd be fine with adding a WARN_ON(!list_empty(&cmd->abort_work))
here, however. This will clear up the intent of this statement.

BUG_ON even, since you'd get badness from the double free anyway.

Paolo
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to