Message ID | 20201208091658.41820-1-its@irrelevant.dk |
---|---|
State | New |
Headers | show |
Series | hw/block/nvme: fix bad clearing of CAP | expand |
On Tue, Dec 08, 2020 at 10:16:58AM +0100, Klaus Jensen wrote: > From: Klaus Jensen <k.jensen@samsung.com> > > Commit 37712e00b1f0 ("hw/block/nvme: factor out pmr setup") changed the > control flow such that the CAP register is erronously cleared after > nvme_init_pmr() has configured it. Since the entire NvmeCtrl structure > is zero-filled initially, there is no need for the explicit clearing, so > just remove it. > > Fixes: 37712e00b1f0 ("hw/block/nvme: factor out pmr setup") > Signed-off-by: Klaus Jensen <k.jensen@samsung.com> Oops, nice catch. Reviewed-by: Keith Busch <kbusch@kernel.org> > --- > hw/block/nvme.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/hw/block/nvme.c b/hw/block/nvme.c > index 8814201364c1..28416b18a5c0 100644 > --- a/hw/block/nvme.c > +++ b/hw/block/nvme.c > @@ -3040,7 +3040,6 @@ static void nvme_init_ctrl(NvmeCtrl *n, PCIDevice *pci_dev) > id->psd[0].enlat = cpu_to_le32(0x10); > id->psd[0].exlat = cpu_to_le32(0x4); > > - n->bar.cap = 0; > NVME_CAP_SET_MQES(n->bar.cap, 0x7ff); > NVME_CAP_SET_CQR(n->bar.cap, 1); > NVME_CAP_SET_TO(n->bar.cap, 0xf); > -- > 2.29.2 >
Hello,
Reviewed-by: Minwoo Im <minwoo.im.dev@gmail.com>
On Dec 8 10:16, Klaus Jensen wrote: > From: Klaus Jensen <k.jensen@samsung.com> > > Commit 37712e00b1f0 ("hw/block/nvme: factor out pmr setup") changed the > control flow such that the CAP register is erronously cleared after > nvme_init_pmr() has configured it. Since the entire NvmeCtrl structure > is zero-filled initially, there is no need for the explicit clearing, so > just remove it. > > Fixes: 37712e00b1f0 ("hw/block/nvme: factor out pmr setup") > Signed-off-by: Klaus Jensen <k.jensen@samsung.com> > --- > hw/block/nvme.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/hw/block/nvme.c b/hw/block/nvme.c > index 8814201364c1..28416b18a5c0 100644 > --- a/hw/block/nvme.c > +++ b/hw/block/nvme.c > @@ -3040,7 +3040,6 @@ static void nvme_init_ctrl(NvmeCtrl *n, PCIDevice *pci_dev) > id->psd[0].enlat = cpu_to_le32(0x10); > id->psd[0].exlat = cpu_to_le32(0x4); > > - n->bar.cap = 0; > NVME_CAP_SET_MQES(n->bar.cap, 0x7ff); > NVME_CAP_SET_CQR(n->bar.cap, 1); > NVME_CAP_SET_TO(n->bar.cap, 0xf); > -- > 2.29.2 > > Thanks for the reviews, applied to nvme-next.
diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 8814201364c1..28416b18a5c0 100644 --- a/hw/block/nvme.c +++ b/hw/block/nvme.c @@ -3040,7 +3040,6 @@ static void nvme_init_ctrl(NvmeCtrl *n, PCIDevice *pci_dev) id->psd[0].enlat = cpu_to_le32(0x10); id->psd[0].exlat = cpu_to_le32(0x4); - n->bar.cap = 0; NVME_CAP_SET_MQES(n->bar.cap, 0x7ff); NVME_CAP_SET_CQR(n->bar.cap, 1); NVME_CAP_SET_TO(n->bar.cap, 0xf);