Commit e8fd41bb authored by Maxim Levitsky's avatar Maxim Levitsky Committed by Christoph Hellwig

nvme-pci: init shadow doorbell after each reset

The spec states:

  "The settings are not retained across a Controller Level Reset"

Therefore the driver must enable the shadow doorbell, after each reset.

This was caught while testing the nvme driver over upcoming nvme-mdev
device.
Signed-off-by: default avatarMaxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: default avatarKeith Busch <keith.busch@intel.com>
Reviewed-by: default avatarMinwoo Im <minwoo.im@samsung.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 936b33f7
...@@ -2280,8 +2280,6 @@ static int nvme_dev_add(struct nvme_dev *dev) ...@@ -2280,8 +2280,6 @@ static int nvme_dev_add(struct nvme_dev *dev)
return ret; return ret;
} }
dev->ctrl.tagset = &dev->tagset; dev->ctrl.tagset = &dev->tagset;
nvme_dbbuf_set(dev);
} else { } else {
blk_mq_update_nr_hw_queues(&dev->tagset, dev->online_queues - 1); blk_mq_update_nr_hw_queues(&dev->tagset, dev->online_queues - 1);
...@@ -2289,6 +2287,7 @@ static int nvme_dev_add(struct nvme_dev *dev) ...@@ -2289,6 +2287,7 @@ static int nvme_dev_add(struct nvme_dev *dev)
nvme_free_queues(dev, dev->online_queues); nvme_free_queues(dev, dev->online_queues);
} }
nvme_dbbuf_set(dev);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment