提交 8a9ae523 编写于 作者: S Scott Bauer 提交者: Jens Axboe

nvme: Check for Security send/recv support before issuing commands.

We need to verify that the controller supports the security
commands before actually trying to issue them.
Signed-off-by: NScott Bauer <scott.bauer@intel.com>
[hch: moved the check so that we don't call into the OPAL code if not
      supported]
Signed-off-by: NChristoph Hellwig <hch@lst.de>
Signed-off-by: NJens Axboe <axboe@fb.com>
上级 4f1244c8
...@@ -1264,6 +1264,7 @@ int nvme_init_identify(struct nvme_ctrl *ctrl) ...@@ -1264,6 +1264,7 @@ int nvme_init_identify(struct nvme_ctrl *ctrl)
return -EIO; return -EIO;
} }
ctrl->oacs = le16_to_cpu(id->oacs);
ctrl->vid = le16_to_cpu(id->vid); ctrl->vid = le16_to_cpu(id->vid);
ctrl->oncs = le16_to_cpup(&id->oncs); ctrl->oncs = le16_to_cpup(&id->oncs);
atomic_set(&ctrl->abort_limit, id->acl + 1); atomic_set(&ctrl->abort_limit, id->acl + 1);
......
...@@ -140,6 +140,7 @@ struct nvme_ctrl { ...@@ -140,6 +140,7 @@ struct nvme_ctrl {
u32 max_hw_sectors; u32 max_hw_sectors;
u16 oncs; u16 oncs;
u16 vid; u16 vid;
u16 oacs;
atomic_t abort_limit; atomic_t abort_limit;
u8 event_limit; u8 event_limit;
u8 vwc; u8 vwc;
......
...@@ -1792,7 +1792,7 @@ static void nvme_reset_work(struct work_struct *work) ...@@ -1792,7 +1792,7 @@ static void nvme_reset_work(struct work_struct *work)
if (result) if (result)
goto out; goto out;
if (!dev->ctrl.opal_dev) { if ((dev->ctrl.oacs & NVME_CTRL_OACS_SEC_SUPP) && !dev->ctrl.opal_dev) {
dev->ctrl.opal_dev = dev->ctrl.opal_dev =
init_opal_dev(&dev->ctrl, &nvme_sec_submit); init_opal_dev(&dev->ctrl, &nvme_sec_submit);
} }
......
...@@ -244,6 +244,7 @@ enum { ...@@ -244,6 +244,7 @@ enum {
NVME_CTRL_ONCS_DSM = 1 << 2, NVME_CTRL_ONCS_DSM = 1 << 2,
NVME_CTRL_ONCS_WRITE_ZEROES = 1 << 3, NVME_CTRL_ONCS_WRITE_ZEROES = 1 << 3,
NVME_CTRL_VWC_PRESENT = 1 << 0, NVME_CTRL_VWC_PRESENT = 1 << 0,
NVME_CTRL_OACS_SEC_SUPP = 1 << 0,
}; };
struct nvme_lbaf { struct nvme_lbaf {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册