The following patches were made over Linus's tree. Martin's staging branches were missing fe0a8a95e7134d0b44cd407bc0085b9ba8d8fe31. The patches are mix of cleanups and fixups. The first patch is just a fix that was in the same code path as the second patch. The second patch was originally mode to drop the taskqueuelock use, but it also moved the running cmd cleanup code to the failure functions, and that is needed by the 3rd patch. The 3rd patch then takes a ref to the cmd in the EH and timer paths or takes the back_lock, and utilizes the running cmd cleanup from the 2nd patch to handle an issue in bnx2i where it wants to sleep in the cleanup_task callout and needs to know what locks are held. V2: - Take back_lock when looping over running cmds in iscsi_eh_cmd_timed_out in case those complete while we are accessing them.