NVMe: Reduce maximum queue depth by 1
authorMatthew Wilcox <matthew.r.wilcox@intel.com>
Thu, 24 Feb 2011 13:49:41 +0000 (08:49 -0500)
committerMatthew Wilcox <matthew.r.wilcox@intel.com>
Fri, 4 Nov 2011 19:52:59 +0000 (15:52 -0400)
The spec says we're not allowed to completely fill the submission queue.
Solve this by reducing the number of allocatable cmdids by 1.

Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
drivers/block/nvme.c

index 562d75a..45bfae1 100644 (file)
@@ -156,7 +156,7 @@ static struct nvme_cmd_info *nvme_cmd_info(struct nvme_queue *nvmeq)
 static int alloc_cmdid(struct nvme_queue *nvmeq, void *ctx, int handler,
                                                        unsigned timeout)
 {
-       int depth = nvmeq->q_depth;
+       int depth = nvmeq->q_depth - 1;
        struct nvme_cmd_info *info = nvme_cmd_info(nvmeq);
        int cmdid;