summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGollu Appalanaidu2021-01-24 16:35:32 +0100
committerKlaus Jensen2021-02-08 21:15:54 +0100
commit0065f42ef1206527188a44e9c456c9b6d10de5ec (patch)
tree40e57f7e2493a2d9b115efe9162d5a6038304526
parenthw/block/nvme: fix set feature for error recovery (diff)
downloadqemu-0065f42ef1206527188a44e9c456c9b6d10de5ec.tar.gz
qemu-0065f42ef1206527188a44e9c456c9b6d10de5ec.tar.xz
qemu-0065f42ef1206527188a44e9c456c9b6d10de5ec.zip
hw/block/nvme: fix set feature save field check
Currently, no features are saveable, so the current check is not wrong, but add a check against the feature capabilities to make sure this will not regress if saveable features are added later. Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com> Reviewed-by: Klaus Jensen <k.jensen@samsung.com> Reviewed-by: Keith Busch <kbusch@kernel.org> Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
-rw-r--r--hw/block/nvme.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/block/nvme.c b/hw/block/nvme.c
index b3d072c8b2..c99a3fbf34 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -3324,7 +3324,7 @@ static uint16_t nvme_set_feature(NvmeCtrl *n, NvmeRequest *req)
trace_pci_nvme_setfeat(nvme_cid(req), nsid, fid, save, dw11);
- if (save) {
+ if (save && !(nvme_feature_cap[fid] & NVME_FEAT_CAP_SAVE)) {
return NVME_FID_NOT_SAVEABLE | NVME_DNR;
}