Re: [PATCH] hw/block/nvme: fix bad clearing of CAP
On Dec 8 10:16, Klaus Jensen wrote: > From: Klaus Jensen > > 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 > --- > 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. signature.asc Description: PGP signature
Re: [PATCH] hw/block/nvme: fix bad clearing of CAP
Hello, Reviewed-by: Minwoo Im
Re: [PATCH] hw/block/nvme: fix bad clearing of CAP
On Tue, Dec 08, 2020 at 10:16:58AM +0100, Klaus Jensen wrote: > From: Klaus Jensen > > 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 Oops, nice catch. Reviewed-by: Keith Busch > --- > 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 >
[PATCH] hw/block/nvme: fix bad clearing of CAP
From: Klaus Jensen 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 --- 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