NVMe: Admin queue removal handling
authorKeith Busch <keith.busch@intel.com>
Thu, 8 Jan 2015 01:55:50 +0000 (18:55 -0700)
committerJens Axboe <axboe@fb.com>
Thu, 8 Jan 2015 16:02:08 +0000 (09:02 -0700)
commit0fb59cbc5f133207535b25ec7d16fba24d549ee2
treec47b5e191b5c7289732ffd203b0b7e782ffa3cd6
parentea191d2f36b0f577ce5377c3e72aedc34282969d
NVMe: Admin queue removal handling

This protects admin queue access on shutdown. When the controller is
disabled, the queue is frozen to prevent new entry, and unfrozen on
resume, and fixes cq_vector signedness to not suspend a queue twice.

Since unfreezing the queue makes it available for commands, it requires
the queue be initialized, so this moves this part after that.

Special handling is done when the device is unresponsive during
shutdown. This can be optimized to not require subsequent commands to
timeout, but saving that fix for later.

This patch also removes the kill signals in this path that were left-over
artifacts from the blk-mq conversion and no longer necessary.

Signed-off-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/block/nvme-core.c