Blob Blame History Raw
From: Christoph Hellwig <hch@lst.de>
Date: Wed, 18 Oct 2017 17:09:31 +0200
Subject: nvme: check for a live controller in nvme_dev_open
Patch-mainline: v4.15-rc1
Git-commit: 999ada28713d7bcf4a2c70cbab47b08cd95f2cf8
References: FATE#323952, FATE#322506

This is a much more sensible check than just the admin queue.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Sagi Grimberg <sagi@rimbeg.me>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
---
 drivers/nvme/host/core.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -1900,7 +1900,7 @@ static int nvme_dev_open(struct inode *i
 	struct nvme_ctrl *ctrl =
 		container_of(inode->i_cdev, struct nvme_ctrl, cdev);
 
-	if (!ctrl->admin_q)
+	if (ctrl->state != NVME_CTRL_LIVE)
 		return -EWOULDBLOCK;
 	file->private_data = ctrl;
 	return 0;