6b956f7627
The fix for SWDEV-329789 moved down the last use of the a command object pointer in order to prevent a race condition. However, the previous patch did not move down the release of that command. By releasing the command early, another thread could get a command with the same pointer. That second thread could later submit work to the queue using that new command. The first thread could then perform a comparison against the queue's last command using its own now-stale pointer. This could eventually allow the second thread to skip synchornizing on the queue. This would result in host synchronizations completing before their device work was actually complete. Change-Id: I292b7b369743251ceafe453a4c5cae14a6d01046