nvme: Wait for reset state when required

Disabling the controller in paths that resets it in a different context
needs to fence off other resets from occuring. Provide a method to block
until we've successfully entered a reset state prior to disabling so
that we can perform the controller disabling without fear that another
reset will undo our teardown, or that our teardown won't conflict with
an in-progress reset.

Signed-off-by: Keith Busch <kbusch@kernel.org>
3 files changed