ctrl->ctrl.opts->queue_size, ctrl->ctrl.sqsize + 1);
        }
 
+       if (ctrl->ctrl.sqsize + 1 > NVME_RDMA_MAX_QUEUE_SIZE) {
+               dev_warn(ctrl->ctrl.device,
+                       "ctrl sqsize %u > max queue size %u, clamping down\n",
+                       ctrl->ctrl.sqsize + 1, NVME_RDMA_MAX_QUEUE_SIZE);
+               ctrl->ctrl.sqsize = NVME_RDMA_MAX_QUEUE_SIZE - 1;
+       }
+
        if (ctrl->ctrl.sqsize + 1 > ctrl->ctrl.maxcmd) {
                dev_warn(ctrl->ctrl.device,
                        "sqsize %u > ctrl maxcmd %u, clamping down\n",
 
 #ifndef _LINUX_NVME_RDMA_H
 #define _LINUX_NVME_RDMA_H
 
+#define NVME_RDMA_MAX_QUEUE_SIZE       128
+
 enum nvme_rdma_cm_fmt {
        NVME_RDMA_CM_FMT_1_0 = 0x0,
 };