We free the transfer buffers when a command is cancelled. The controller,
however, may still own the command and may try to write to them. We
have to fence the controller off from being able to do that, so we can't
cancel inflight commands while the PCI device is still bus master enabled.
In a perfect world, we could trust in disabling with NVMe registers,
but sometimes we can't rely on that.
OK, I wasn't aware that we cannot rely on that.
So it looks like we cannot change the ordering. So this leaves us with
the need to guarantee that no queue_rq is inflight before we unmap.