if (dev->cmb_use_sqes) {
                result = nvme_cmb_qdepth(dev, nr_io_queues,
                                sizeof(struct nvme_command));
-               if (result > 0)
+               if (result > 0) {
                        dev->q_depth = result;
-               else
+                       dev->ctrl.sqsize = result - 1;
+               } else {
                        dev->cmb_use_sqes = false;
+               }
        }
 
        do {
 
        dev->q_depth = min_t(u32, NVME_CAP_MQES(dev->ctrl.cap) + 1,
                                io_queue_depth);
-       dev->ctrl.sqsize = dev->q_depth - 1; /* 0's based queue depth */
        dev->db_stride = 1 << NVME_CAP_STRIDE(dev->ctrl.cap);
        dev->dbs = dev->bar + 4096;
 
                dev_warn(dev->ctrl.device, "IO queue depth clamped to %d\n",
                         dev->q_depth);
        }
-
+       dev->ctrl.sqsize = dev->q_depth - 1; /* 0's based queue depth */
 
        nvme_map_cmb(dev);