*ping* https://patchwork.ozlabs.org/patch/418107/
Alex Friedman E8 Storage VP R&D a...@e8storage.com Mobile: +972-54-579-7646 On Fri, Dec 5, 2014 at 5:45 PM, Keith Busch <keith.bu...@intel.com> wrote: > On Fri, 5 Dec 2014, a...@e8storage.com wrote: > >> From: Alex Friedman <a...@e8storage.com> >> >> According to the specification, the low 16 bits should contain the number >> of >> I/O submission queues, and the high 16 bits should contain the number of >> I/O completion queues. >> >> Signed-off-by: Alex Friedman <a...@e8storage.com> >> > > Good catch, thanks for the fix! > > Acked-by: Keith Busch <keith.bu...@intel.com> > > > --- >> hw/block/nvme.c | 6 ++++-- >> 1 file changed, 4 insertions(+), 2 deletions(-) >> >> diff --git a/hw/block/nvme.c b/hw/block/nvme.c >> index b6263dc..405cf4f 100644 >> --- a/hw/block/nvme.c >> +++ b/hw/block/nvme.c >> @@ -476,7 +476,8 @@ static uint16_t nvme_get_feature(NvmeCtrl *n, NvmeCmd >> *cmd, NvmeRequest *req) >> >> switch (dw10) { >> case NVME_NUMBER_OF_QUEUES: >> - req->cqe.result = cpu_to_le32(n->num_queues); >> + req->cqe.result = >> + cpu_to_le32((n->num_queues - 1) | ((n->num_queues - 1) << >> 16)); >> break; >> default: >> return NVME_INVALID_FIELD | NVME_DNR; >> @@ -490,7 +491,8 @@ static uint16_t nvme_set_feature(NvmeCtrl *n, NvmeCmd >> *cmd, NvmeRequest *req) >> >> switch (dw10) { >> case NVME_NUMBER_OF_QUEUES: >> - req->cqe.result = cpu_to_le32(n->num_queues); >> + req->cqe.result = >> + cpu_to_le32((n->num_queues - 1) | ((n->num_queues - 1) << >> 16)); >> break; >> default: >> return NVME_INVALID_FIELD | NVME_DNR; >> -- >> 1.9.3 >> >